Mercurial > hg > xemacs-beta
annotate lib-src/hexl.c @ 4976:16112448d484
Rename xfree(FOO, TYPE) -> xfree(FOO)
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-02-04 Ben Wing <ben@xemacs.org>
* alloc.c (release_breathing_space):
* alloc.c (resize_string):
* alloc.c (sweep_lcrecords_1):
* alloc.c (SWEEP_FIXED_TYPE_BLOCK_1):
* alloc.c (ADDITIONAL_FREE_compiled_function):
* alloc.c (compact_string_chars):
* alloc.c (ADDITIONAL_FREE_string):
* alloc.c (sweep_strings):
* alloca.c (xemacs_c_alloca):
* alsaplay.c (alsa_play_sound_file):
* buffer.c (init_initial_directory):
* buffer.h:
* buffer.h (BUFFER_FREE):
* console-stream.c (stream_delete_console):
* console-tty.c (free_tty_console_struct):
* data.c (Fnumber_to_string):
* device-gtk.c (gtk_init_device):
* device-gtk.c (free_gtk_device_struct):
* device-gtk.c (gtk_delete_device):
* device-msw.c (mswindows_delete_device):
* device-msw.c (msprinter_delete_device):
* device-tty.c (free_tty_device_struct):
* device-tty.c (tty_delete_device):
* device-x.c (x_init_device):
* device-x.c (free_x_device_struct):
* device-x.c (x_delete_device):
* dialog-msw.c (handle_directory_dialog_box):
* dialog-x.c (dbox_descriptor_to_widget_value):
* dired-msw.c (Fmswindows_insert_directory):
* dired.c (free_user_cache):
* dired.c (user_name_completion_unwind):
* doc.c (unparesseuxify_doc_string):
* doc.c (Fsubstitute_command_keys):
* doprnt.c (emacs_doprnt_1):
* dumper.c (pdump_load_finish):
* dumper.c (pdump_file_free):
* dumper.c (pdump_file_unmap):
* dynarr.c:
* dynarr.c (Dynarr_free):
* editfns.c (uncache_home_directory):
* editfns.c (Fset_time_zone_rule):
* elhash.c:
* elhash.c (pdump_reorganize_hash_table):
* elhash.c (maphash_unwind):
* emacs.c (make_arg_list_1):
* emacs.c (free_argc_argv):
* emacs.c (sort_args):
* emacs.c (Frunning_temacs_p):
* emodules.c (attempt_module_delete):
* eval.c (free_pointer):
* event-Xt.c (unselect_filedesc):
* event-Xt.c (emacs_Xt_select_process):
* event-gtk.c (unselect_filedesc):
* event-gtk.c (dragndrop_data_received):
* event-msw.c (winsock_closer):
* event-msw.c (mswindows_dde_callback):
* event-msw.c (mswindows_wnd_proc):
* event-stream.c (finalize_command_builder):
* event-stream.c (free_command_builder):
* extents.c (free_gap_array):
* extents.c (free_extent_list):
* extents.c (free_soe):
* extents.c (extent_fragment_delete):
* extents.c (extent_priority_sort_function):
* file-coding.c (make_coding_system_1):
* file-coding.c (coding_finalizer):
* file-coding.c (set_coding_stream_coding_system):
* file-coding.c (chain_finalize_coding_stream_1):
* file-coding.c (chain_finalize):
* file-coding.c (free_detection_state):
* file-coding.c (coding_category_symbol_to_id):
* fileio.c:
* fileio.c (Ffile_name_directory):
* fileio.c (if):
* fileio.c (Ffile_symlink_p):
* filelock.c (FREE_LOCK_INFO):
* filelock.c (current_lock_owner):
* font-mgr.c (Ffc_name_unparse):
* font-mgr.c (Ffc_pattern_duplicate):
* frame-gtk.c (gtk_delete_frame):
* frame-msw.c (mswindows_delete_frame):
* frame-msw.c (msprinter_delete_frame):
* frame-x.c (x_cde_destroy_callback):
* frame-x.c (Fcde_start_drag_internal):
* frame-x.c (x_cde_transfer_callback):
* frame-x.c (x_delete_frame):
* frame.c (update_frame_title):
* frame.c (Fset_frame_pointer):
* gc.c (register_for_finalization):
* gccache-gtk.c (free_gc_cache):
* gccache-gtk.c (gc_cache_lookup):
* gccache-x.c (free_gc_cache):
* gccache-x.c (gc_cache_lookup):
* glyphs-eimage.c:
* glyphs-eimage.c (jpeg_instantiate_unwind):
* glyphs-eimage.c (gif_instantiate_unwind):
* glyphs-eimage.c (png_instantiate_unwind):
* glyphs-eimage.c (png_instantiate):
* glyphs-eimage.c (tiff_instantiate_unwind):
* glyphs-gtk.c (convert_EImage_to_GDKImage):
* glyphs-gtk.c (gtk_finalize_image_instance):
* glyphs-gtk.c (gtk_init_image_instance_from_eimage):
* glyphs-gtk.c (gtk_xpm_instantiate):
* glyphs-msw.c (convert_EImage_to_DIBitmap):
* glyphs-msw.c (mswindows_init_image_instance_from_eimage):
* glyphs-msw.c (mswindows_initialize_image_instance_mask):
* glyphs-msw.c (xpm_to_eimage):
* glyphs-msw.c (mswindows_xpm_instantiate):
* glyphs-msw.c (xbm_create_bitmap_from_data):
* glyphs-msw.c (mswindows_finalize_image_instance):
* glyphs-x.c (convert_EImage_to_XImage):
* glyphs-x.c (x_finalize_image_instance):
* glyphs-x.c (x_init_image_instance_from_eimage):
* glyphs-x.c (x_xpm_instantiate):
* gui-x.c (free_popup_widget_value_tree):
* hash.c (free_hash_table):
* hash.c (grow_hash_table):
* hash.c (pregrow_hash_table_if_necessary):
* imgproc.c (build_EImage_quantable):
* insdel.c (uninit_buffer_text):
* intl-win32.c (convert_multibyte_to_internal_malloc):
* intl.c:
* intl.c (Fset_current_locale):
* keymap.c:
* keymap.c (where_is_recursive_mapper):
* keymap.c (where_is_internal):
* lisp.h:
* lisp.h (xfree):
* lstream.c (Lstream_close):
* lstream.c (resizing_buffer_closer):
* mule-coding.c:
* mule-coding.c (iso2022_finalize_detection_state):
* nt.c:
* nt.c (mswindows_get_long_filename):
* nt.c (nt_get_resource):
* nt.c (init_mswindows_environment):
* nt.c (get_cached_volume_information):
* nt.c (mswindows_opendir):
* nt.c (mswindows_closedir):
* nt.c (mswindows_readdir):
* nt.c (mswindows_stat):
* nt.c (mswindows_getdcwd):
* nt.c (Fmswindows_long_file_name):
* ntplay.c (nt_play_sound_file):
* ntplay.c (play_sound_data_1):
* number-gmp.c (gmp_free):
* number-gmp.c (init_number_gmp):
* number-mp.c (bignum_to_string):
* number-mp.c (BIGNUM_TO_TYPE):
* number.c (bignum_print):
* number.c (bignum_convfree):
* number.c (ratio_print):
* number.c (bigfloat_print):
* number.c (bigfloat_finalize):
* objects-gtk.c (gtk_finalize_color_instance):
* objects-gtk.c (gtk_finalize_font_instance):
* objects-msw.c (mswindows_finalize_color_instance):
* objects-msw.c (mswindows_finalize_font_instance):
* objects-tty.c (tty_finalize_color_instance):
* objects-tty.c (tty_finalize_font_instance):
* objects-tty.c (tty_font_list):
* objects-x.c (x_finalize_color_instance):
* objects-x.c (x_finalize_font_instance):
* process.c:
* process.c (finalize_process):
* realpath.c:
* redisplay.c (add_propagation_runes):
* regex.c:
* regex.c (xfree):
* regex.c (REGEX_FREE_STACK):
* regex.c (FREE_STACK_RETURN):
* regex.c (regex_compile):
* regex.c (regexec):
* regex.c (regfree):
* scrollbar-gtk.c (gtk_free_scrollbar_instance):
* scrollbar-gtk.c (gtk_release_scrollbar_instance):
* scrollbar-msw.c (mswindows_free_scrollbar_instance):
* scrollbar-msw.c (unshow_that_mofo):
* scrollbar-x.c (x_free_scrollbar_instance):
* scrollbar-x.c (x_release_scrollbar_instance):
* select-gtk.c (emacs_gtk_selection_handle):
* select-msw.c (mswindows_own_selection):
* select-x.c:
* select-x.c (x_handle_selection_request):
* select-x.c (unexpect_property_change):
* select-x.c (x_handle_property_notify):
* select-x.c (receive_incremental_selection):
* select-x.c (x_get_window_property_as_lisp_data):
* select-x.c (Fx_get_cutbuffer_internal):
* specifier.c (finalize_specifier):
* syntax.c (uninit_buffer_syntax_cache):
* sysdep.c (qxe_allocating_getcwd):
* sysdep.c (qxe_lstat):
* sysdep.c (copy_in_passwd):
* sysdep.c (qxe_ctime):
* sysdep.c (closedir):
* sysdep.c (DIRSIZ):
* termcap.c (tgetent):
* termcap.c (tprint):
* tests.c (Ftest_data_format_conversion):
* text.c (new_dfc_convert_copy_data):
* text.h (eifree):
* text.h (eito_alloca):
* text.h (eito_external):
* toolbar-msw.c (mswindows_output_toolbar):
* ui-gtk.c (CONVERT_RETVAL):
* ui-gtk.c (__allocate_object_storage):
* unicode.c (free_from_unicode_table):
* unicode.c (free_to_unicode_table):
* unicode.c (free_charset_unicode_tables):
* win32.c (mswindows_read_link_1):
Rename: xfree(VAL, TYPE)->xfree(VAL)
Command used:
gr 'xfree *\((.*),.*\);' 'xfree (\1);' *.[ch]
Followed by grepping for 'xfree.*,' and fixing anything left.
Rationale: Having to specify the TYPE argument is annoying and
error-prone. It was originally put in to work around warnings
due to strict aliasing but years and years ago I rewrote it
in a way that doesn't use the TYPE argument at all and no one
has complained since then. (And anyway, XEmacs is far from
ever being in compliance with strict aliasing and would require
far-reaching changes to get that way.)
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Thu, 04 Feb 2010 07:28:14 -0600 |
parents | abe6d1db359e |
children | 061f4f90f874 06dd936cde16 |
rev | line source |
---|---|
428 | 1 /* Synched up with: FSF 19.28. */ |
2 | |
438 | 3 #include <config.h> |
428 | 4 |
5 #include <stdio.h> | |
6 #include <ctype.h> | |
442 | 7 #ifdef WIN32_NATIVE |
440 | 8 #include <io.h> |
428 | 9 #include <fcntl.h> |
10 #endif | |
11 | |
12 #if __STDC__ || defined(STDC_HEADERS) | |
13 #include <stdlib.h> | |
442 | 14 #ifdef HAVE_UNISTD_H |
428 | 15 #include <unistd.h> |
442 | 16 #endif |
428 | 17 #include <string.h> |
18 #endif | |
19 | |
20 #define DEFAULT_GROUPING 0x01 | |
21 #define DEFAULT_BASE 16 | |
22 | |
23 #undef TRUE | |
24 #undef FALSE | |
25 #define TRUE (1) | |
26 #define FALSE (0) | |
27 | |
28 int base = DEFAULT_BASE, un_flag = FALSE, iso_flag = FALSE, endian = 1; | |
29 int group_by = DEFAULT_GROUPING; | |
30 char *progname; | |
31 | |
32 void usage (void); | |
33 | |
34 int | |
35 main (int argc, char *argv[]) | |
36 { | |
37 register long address; | |
38 char string[18]; | |
39 FILE *fp; | |
40 | |
41 progname = *argv++; --argc; | |
42 | |
43 /* | |
44 ** -hex hex dump | |
45 ** -oct Octal dump | |
46 ** -group-by-8-bits | |
47 ** -group-by-16-bits | |
48 ** -group-by-32-bits | |
49 ** -group-by-64-bits | |
50 ** -iso iso character set. | |
51 ** -big-endian Big Endian | |
52 ** -little-endian Little Endian | |
53 ** -un || -de from hexl format to binary. | |
54 ** -- End switch list. | |
55 ** <filename> dump filename | |
56 ** - (as filename == stdin) | |
57 */ | |
58 | |
59 while (*argv && *argv[0] == '-' && (*argv)[1]) | |
60 { | |
61 /* A switch! */ | |
62 if (!strcmp (*argv, "--")) | |
63 { | |
64 --argc; argv++; | |
65 break; | |
66 } | |
67 else if (!strcmp (*argv, "-un") || !strcmp (*argv, "-de")) | |
68 { | |
69 un_flag = TRUE; | |
70 --argc; argv++; | |
71 } | |
72 else if (!strcmp (*argv, "-hex")) | |
73 { | |
74 base = 16; | |
75 --argc; argv++; | |
76 } | |
77 else if (!strcmp (*argv, "-iso")) | |
78 { | |
79 iso_flag = TRUE; | |
80 --argc; argv++; | |
81 } | |
82 else if (!strcmp (*argv, "-oct")) | |
83 { | |
84 base = 8; | |
85 --argc; argv++; | |
86 } | |
87 else if (!strcmp (*argv, "-big-endian")) | |
88 { | |
89 endian = 1; | |
90 --argc; argv++; | |
91 } | |
92 else if (!strcmp (*argv, "-little-endian")) | |
93 { | |
94 endian = 0; | |
95 --argc; argv++; | |
96 } | |
97 else if (!strcmp (*argv, "-group-by-8-bits")) | |
98 { | |
99 group_by = 0x00; | |
100 --argc; argv++; | |
101 } | |
102 else if (!strcmp (*argv, "-group-by-16-bits")) | |
103 { | |
104 group_by = 0x01; | |
105 --argc; argv++; | |
106 } | |
107 else if (!strcmp (*argv, "-group-by-32-bits")) | |
108 { | |
109 group_by = 0x03; | |
110 --argc; argv++; | |
111 } | |
112 else if (!strcmp (*argv, "-group-by-64-bits")) | |
113 { | |
114 group_by = 0x07; | |
115 endian = 0; | |
116 --argc; argv++; | |
117 } | |
118 else | |
119 { | |
120 (void) fprintf (stderr, "%s: invalid switch: \"%s\".\n", progname, | |
121 *argv); | |
122 usage (); | |
123 } | |
124 } | |
125 | |
126 do | |
127 { | |
128 if (*argv == NULL) | |
129 fp = stdin; | |
130 else | |
131 { | |
132 char *filename = *argv++; | |
133 | |
134 if (!strcmp (filename, "-")) | |
135 fp = stdin; | |
136 else if ((fp = fopen (filename, "r")) == NULL) | |
137 { | |
138 perror (filename); | |
139 continue; | |
140 } | |
141 } | |
142 | |
143 if (un_flag) | |
144 { | |
145 char buf[18]; | |
146 | |
442 | 147 #ifdef WIN32_NATIVE |
440 | 148 _setmode (_fileno (stdout), O_BINARY); |
428 | 149 #endif |
150 for (;;) | |
151 { | |
442 | 152 register int i, c = 0, d; |
428 | 153 |
154 #define hexchar(x) (isdigit (x) ? x - '0' : x - 'a' + 10) | |
155 | |
156 fread (buf, 1, 10, fp); /* skip 10 bytes */ | |
157 | |
158 for (i=0; i < 16; ++i) | |
159 { | |
160 if ((c = getc (fp)) == ' ' || c == EOF) | |
161 break; | |
162 | |
163 d = getc (fp); | |
164 c = hexchar (c) * 0x10 + hexchar (d); | |
165 putchar (c); | |
166 | |
167 if ((i&group_by) == group_by) | |
168 getc (fp); | |
169 } | |
170 | |
171 if (c == ' ') | |
172 { | |
173 while ((c = getc (fp)) != '\n' && c != EOF) | |
174 ; | |
175 | |
176 if (c == EOF) | |
177 break; | |
178 } | |
179 else | |
180 { | |
181 if (i < 16) | |
182 break; | |
183 | |
184 fread (buf, 1, 18, fp); /* skip 18 bytes */ | |
185 } | |
186 } | |
187 } | |
188 else | |
189 { | |
442 | 190 #ifdef WIN32_NATIVE |
440 | 191 _setmode (_fileno (fp), O_BINARY); |
428 | 192 #endif |
193 address = 0; | |
194 string[0] = ' '; | |
195 string[17] = '\0'; | |
196 for (;;) | |
197 { | |
442 | 198 register int i, c = 0; |
428 | 199 |
200 for (i=0; i < 16; ++i) | |
201 { | |
202 if ((c = getc (fp)) == EOF) | |
203 { | |
204 if (!i) | |
205 break; | |
206 | |
207 fputs (" ", stdout); | |
208 string[i+1] = '\0'; | |
209 } | |
210 else | |
211 { | |
212 if (!i) | |
213 (void) printf ("%08lx: ", address); | |
214 | |
215 if (iso_flag) | |
216 string[i+1] = | |
217 (c < 0x20 || (c >= 0x7F && c < 0xa0)) ? '.' :c; | |
218 else | |
219 string[i+1] = (c < 0x20 || c >= 0x7F) ? '.' : c; | |
220 | |
221 (void) printf ("%02x", c); | |
222 } | |
223 | |
224 if ((i&group_by) == group_by) | |
225 putchar (' '); | |
226 } | |
227 | |
228 if (i) | |
229 puts (string); | |
230 | |
231 if (c == EOF) | |
232 break; | |
233 | |
234 address += 0x10; | |
235 | |
236 } | |
237 } | |
238 | |
239 if (fp != stdin) | |
240 (void) fclose (fp); | |
241 | |
242 } while (*argv != NULL); | |
243 return 0; | |
244 } | |
245 | |
246 void | |
442 | 247 usage (void) |
428 | 248 { |
442 | 249 fprintf (stderr, "Usage: %s [-de] [-iso]\n", progname); |
428 | 250 exit (1); |
251 } |