# HG changeset patch # User Dan Nicolaescu # Date 1281346521 25200 # Node ID 64732fa6188aa838214c33201bc2dd1f8d19703d # Parent 3783b558402bf53d6b1ed802d098d03d6866dc13 Use const char* instead of char*. Reduce the number of warnings with -Wwrite-strings. * src/xrdb.c (get_environ_db, get_system_name): * src/unexelf.c (find_section): * src/term.c (string_cost, string_cost_one_line, per_line_cost) (get_named_tty, init_tty): * src/sysdep.c (sys_subshell): * src/sound.c (sound_perror, sound_warning, vox_open, vox_init) (alsa_sound_perror, alsa_open, alsa_configure, alsa_init): * src/search.c (Freplace_match): * src/process.c (Fmake_network_process, send_process, init_process): * src/lread.c (Fload, init_lread): * src/keymap.c (Fdescribe_buffer_bindings, describe_map_tree): * src/keyboard.c (parse_tool_bar_item, struct event_head): * src/gtkutil.h (xg_get_font_name): * src/gtkutil.c (get_dialog_title, create_dialog, xg_get_font_name) (make_widget_for_menu_item, make_menu_item, create_menus) (xg_make_tool_item): * src/font.c (parse_matrix, font_parse_name): * src/floatfns.c (rounding_driver, float_error_fn_name): * src/filelock.c (get_boot_time_1, lock_file_1): * src/fileio.c (barf_or_query_if_file_exists, check_writable): * src/editfns.c (get_system_name, get_operating_system_release) (Fencode_time, Fset_time_zone_rule): * src/dispextern.h (string_cost, per_line_cost, get_named_tty, init_tty): * src/buffer.c (defvar_per_buffer): Use const. diff -r 3783b558402b -r 64732fa6188a src/ChangeLog --- a/src/ChangeLog Sun Aug 08 21:30:10 2010 -0500 +++ b/src/ChangeLog Mon Aug 09 02:35:21 2010 -0700 @@ -1,3 +1,32 @@ +2010-08-09 Dan Nicolaescu + + Use const char* instead of char*. + Reduce the number of warnings with -Wwrite-strings. + * xrdb.c (get_environ_db, get_system_name): + * unexelf.c (find_section): + * term.c (string_cost, string_cost_one_line, per_line_cost) + (get_named_tty, init_tty): + * sysdep.c (sys_subshell): + * sound.c (sound_perror, sound_warning, vox_open, vox_init) + (alsa_sound_perror, alsa_open, alsa_configure, alsa_init): + * search.c (Freplace_match): + * process.c (Fmake_network_process, send_process, init_process): + * lread.c (Fload, init_lread): + * keymap.c (Fdescribe_buffer_bindings, describe_map_tree): + * keyboard.c (parse_tool_bar_item, struct event_head): + * gtkutil.h (xg_get_font_name): + * gtkutil.c (get_dialog_title, create_dialog, xg_get_font_name) + (make_widget_for_menu_item, make_menu_item, create_menus) + (xg_make_tool_item): + * font.c (parse_matrix, font_parse_name): + * floatfns.c (rounding_driver, float_error_fn_name): + * filelock.c (get_boot_time_1, lock_file_1): + * fileio.c (barf_or_query_if_file_exists, check_writable): + * editfns.c (get_system_name, get_operating_system_release) + (Fencode_time, Fset_time_zone_rule): + * dispextern.h (string_cost, per_line_cost, get_named_tty, init_tty): + * buffer.c (defvar_per_buffer): Use const. + 2010-08-08 Kenichi Handa * charset.c: Include diff -r 3783b558402b -r 64732fa6188a src/buffer.c --- a/src/buffer.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/buffer.c Mon Aug 09 02:35:21 2010 -0700 @@ -5283,7 +5283,7 @@ } while (0) static void -defvar_per_buffer (struct Lisp_Buffer_Objfwd *bo_fwd, char *namestring, +defvar_per_buffer (struct Lisp_Buffer_Objfwd *bo_fwd, const char *namestring, Lisp_Object *address, Lisp_Object type, char *doc) { struct Lisp_Symbol *sym; diff -r 3783b558402b -r 64732fa6188a src/dispextern.h --- a/src/dispextern.h Sun Aug 08 21:30:10 2010 -0500 +++ b/src/dispextern.h Mon Aug 09 02:35:21 2010 -0700 @@ -3275,18 +3275,18 @@ extern void tty_reset_terminal_modes (struct terminal *); extern void tty_turn_off_insert (struct tty_display_info *); extern void tty_turn_off_highlight (struct tty_display_info *); -extern int string_cost (char *); -extern int per_line_cost (char *); +extern int string_cost (const char *); +extern int per_line_cost (const char *); extern void calculate_costs (struct frame *); extern void produce_glyphs (struct it *); extern void produce_special_glyphs (struct it *, enum display_element_type); extern int tty_capable_p (struct tty_display_info *, unsigned, unsigned long, unsigned long); extern void set_tty_color_mode (struct tty_display_info *, struct frame *); extern struct terminal *get_tty_terminal (Lisp_Object, int); -extern struct terminal *get_named_tty (char *); +extern struct terminal *get_named_tty (const char *); EXFUN (Ftty_type, 1); extern void create_tty_output (struct frame *); -extern struct terminal *init_tty (char *, char *, int); +extern struct terminal *init_tty (const char *, const char *, int); /* Defined in scroll.c */ diff -r 3783b558402b -r 64732fa6188a src/editfns.c --- a/src/editfns.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/editfns.c Mon Aug 09 02:35:21 2010 -0700 @@ -1404,16 +1404,16 @@ /* For the benefit of callers who don't want to include lisp.h */ -char * +const char * get_system_name (void) { if (STRINGP (Vsystem_name)) - return (char *) SDATA (Vsystem_name); + return (const char *) SDATA (Vsystem_name); else return ""; } -char * +const char * get_operating_system_release (void) { if (STRINGP (Voperating_system_release)) @@ -1819,7 +1819,7 @@ else { char tzbuf[100]; - char *tzstring; + const char *tzstring; char **oldenv = environ, **newenv; if (EQ (zone, Qt)) @@ -2001,7 +2001,7 @@ If TZ is t, use Universal Time. */) (Lisp_Object tz) { - char *tzstring; + const char *tzstring; /* When called for the first time, save the original TZ. */ if (!environbuf) diff -r 3783b558402b -r 64732fa6188a src/fileio.c --- a/src/fileio.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/fileio.c Mon Aug 09 02:35:21 2010 -0700 @@ -1823,7 +1823,7 @@ If QUICK is nonzero, we ask for y or n, not yes or no. */ void -barf_or_query_if_file_exists (Lisp_Object absname, unsigned char *querystring, int interactive, struct stat *statptr, int quick) +barf_or_query_if_file_exists (Lisp_Object absname, const unsigned char *querystring, int interactive, struct stat *statptr, int quick) { register Lisp_Object tem, encoded_filename; struct stat statbuf; @@ -2473,7 +2473,7 @@ /* Return nonzero if file FILENAME exists and can be written. */ static int -check_writable (char *filename) +check_writable (const char *filename) { #ifdef MSDOS struct stat st; diff -r 3783b558402b -r 64732fa6188a src/filelock.c --- a/src/filelock.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/filelock.c Mon Aug 09 02:35:21 2010 -0700 @@ -118,7 +118,7 @@ static int boot_time_initialized; #ifdef BOOT_TIME -static void get_boot_time_1 (char *, int); +static void get_boot_time_1 (const char *, int); #endif static time_t @@ -249,7 +249,7 @@ Success is indicated by setting BOOT_TIME to a larger value. */ void -get_boot_time_1 (char *filename, int newest) +get_boot_time_1 (const char *filename, int newest) { struct utmp ut, *utp; int desc; @@ -360,8 +360,8 @@ { register int err; time_t boot_time; - char *user_name; - char *host_name; + const char *user_name; + const char *host_name; char *lock_info_str; /* Call this first because it can GC. */ diff -r 3783b558402b -r 64732fa6188a src/floatfns.c --- a/src/floatfns.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/floatfns.c Mon Aug 09 02:35:21 2010 -0700 @@ -117,7 +117,7 @@ static Lisp_Object float_error_arg, float_error_arg2; -static char *float_error_fn_name; +static const char *float_error_fn_name; /* Evaluate the floating point expression D, recording NUM as the original argument for error messages. @@ -746,7 +746,7 @@ rounding_driver (Lisp_Object arg, Lisp_Object divisor, double (*double_round) (double), EMACS_INT (*int_round2) (EMACS_INT, EMACS_INT), - char *name) + const char *name) { CHECK_NUMBER_OR_FLOAT (arg); diff -r 3783b558402b -r 64732fa6188a src/font.c --- a/src/font.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/font.c Mon Aug 09 02:35:21 2010 -0700 @@ -699,9 +699,9 @@ /* Font name parser and unparser */ -static int parse_matrix (char *); +static int parse_matrix (const char *); static int font_expand_wildcards (Lisp_Object *, int); -static int font_parse_name (char *, Lisp_Object); +static int font_parse_name (const char *, Lisp_Object); /* An enumerator for each field of an XLFD font name. */ enum xlfd_field_index @@ -758,7 +758,7 @@ -1. */ static int -parse_matrix (char *p) +parse_matrix (const char *p) { double matrix[4]; char *end; @@ -1765,7 +1765,7 @@ 0. Otherwise return -1. */ static int -font_parse_name (char *name, Lisp_Object font) +font_parse_name (const char *name, Lisp_Object font) { if (name[0] == '-' || strchr (name, '*') || strchr (name, '?')) return font_parse_xlfd (name, font); diff -r 3783b558402b -r 64732fa6188a src/gtkutil.c --- a/src/gtkutil.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/gtkutil.c Mon Aug 09 02:35:21 2010 -0700 @@ -1183,10 +1183,10 @@ /* Return the dialog title to use for a dialog of type KEY. This is the encoding used by lwlib. We use the same for GTK. */ -static char * +static const char * get_dialog_title (char key) { - char *title = ""; + const char *title = ""; switch (key) { case 'E': case 'e': @@ -1243,7 +1243,7 @@ GCallback select_cb, GCallback deactivate_cb) { - char *title = get_dialog_title (wv->name[0]); + const char *title = get_dialog_title (wv->name[0]); int total_buttons = wv->name[1] - '0'; int right_buttons = wv->name[4] - '0'; int left_buttons; @@ -1761,7 +1761,7 @@ DEFAULT_NAME, if non-zero, is the default font name. */ char * -xg_get_font_name (FRAME_PTR f, char *default_name) +xg_get_font_name (FRAME_PTR f, const char *default_name) { GtkWidget *w; char *fontname = NULL; @@ -1971,7 +1971,7 @@ Returns the GtkHBox. */ static GtkWidget * -make_widget_for_menu_item (char *utf8_label, char *utf8_key) +make_widget_for_menu_item (const char *utf8_label, const char *utf8_key) { GtkWidget *wlbl; GtkWidget *wkey; @@ -2009,8 +2009,8 @@ but the MacOS X version doesn't either, so I guess that is OK. */ static GtkWidget * -make_menu_item (char *utf8_label, - char *utf8_key, +make_menu_item (const char *utf8_label, + const char *utf8_key, widget_value *item, GSList **group) { @@ -2238,7 +2238,7 @@ int add_tearoff_p, GtkWidget *topmenu, xg_menu_cb_data *cl_data, - char *name) + const char *name) { widget_value *item; GtkWidget *wmenu = topmenu; @@ -3977,7 +3977,7 @@ xg_make_tool_item (FRAME_PTR f, GtkWidget *wimage, GtkWidget **wbutton, - char *label, + const char *label, int i) { GtkToolItem *ti = gtk_tool_item_new (); diff -r 3783b558402b -r 64732fa6188a src/gtkutil.h --- a/src/gtkutil.h Sun Aug 08 21:30:10 2010 -0500 +++ b/src/gtkutil.h Mon Aug 09 02:35:21 2010 -0700 @@ -133,7 +133,7 @@ int mustmatch_p, int only_dir_p); -extern char *xg_get_font_name (FRAME_PTR f, char *); +extern char *xg_get_font_name (FRAME_PTR f, const char *); extern GtkWidget *xg_create_widget (const char *type, const char *name, diff -r 3783b558402b -r 64732fa6188a src/keyboard.c --- a/src/keyboard.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/keyboard.c Mon Aug 09 02:35:21 2010 -0700 @@ -8326,8 +8326,8 @@ /* Try to make one from caption and key. */ Lisp_Object key = PROP (TOOL_BAR_ITEM_KEY); Lisp_Object capt = PROP (TOOL_BAR_ITEM_CAPTION); - char *label = SYMBOLP (key) ? (char *) SDATA (SYMBOL_NAME (key)) : ""; - char *caption = STRINGP (capt) ? (char *) SDATA (capt) : ""; + const char *label = SYMBOLP (key) ? (char *) SDATA (SYMBOL_NAME (key)) : ""; + const char *caption = STRINGP (capt) ? (char *) SDATA (capt) : ""; char buf[64]; EMACS_INT max_lbl = 2*tool_bar_max_label_size; Lisp_Object new_lbl; @@ -11532,7 +11532,7 @@ event header symbols and put properties on them. */ struct event_head { Lisp_Object *var; - char *name; + const char *name; Lisp_Object *kind; }; diff -r 3783b558402b -r 64732fa6188a src/keymap.c --- a/src/keymap.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/keymap.c Mon Aug 09 02:35:21 2010 -0700 @@ -2962,7 +2962,7 @@ register Lisp_Object start1; struct gcpro gcpro1; - char *alternate_heading + const char *alternate_heading = "\ Keyboard translations:\n\n\ You type Translation\n\ @@ -3134,13 +3134,13 @@ void describe_map_tree (Lisp_Object startmap, int partial, Lisp_Object shadow, - Lisp_Object prefix, char *title, int nomenu, int transl, + Lisp_Object prefix, const char *title, int nomenu, int transl, int always_title, int mention_shadow) { Lisp_Object maps, orig_maps, seen, sub_shadows; struct gcpro gcpro1, gcpro2, gcpro3; int something = 0; - char *key_heading + const char *key_heading = "\ key binding\n\ --- -------\n"; diff -r 3783b558402b -r 64732fa6188a src/keymap.h --- a/src/keymap.h Sun Aug 08 21:30:10 2010 -0500 +++ b/src/keymap.h Mon Aug 09 02:35:21 2010 -0700 @@ -43,7 +43,7 @@ extern Lisp_Object get_keymap (Lisp_Object, int, int); EXFUN (Fset_keymap_parent, 2); extern void describe_map_tree (Lisp_Object, int, Lisp_Object, Lisp_Object, - char *, int, int, int, int); + const char *, int, int, int, int); extern int current_minor_maps (Lisp_Object **, Lisp_Object **); extern void initial_define_key (Lisp_Object, int, const char *); extern void initial_define_lispy_key (Lisp_Object, const char *, const char *); diff -r 3783b558402b -r 64732fa6188a src/lread.c --- a/src/lread.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/lread.c Mon Aug 09 02:35:21 2010 -0700 @@ -984,7 +984,7 @@ int compiled = 0; Lisp_Object handler; int safe_p = 1; - char *fmode = "r"; + const char *fmode = "r"; Lisp_Object tmp[2]; int version; @@ -3971,7 +3971,7 @@ void init_lread (void) { - char *normal; + const char *normal; int turn_off_warning = 0; /* Compute the default load-path. */ diff -r 3783b558402b -r 64732fa6188a src/process.c --- a/src/process.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/process.c Mon Aug 09 02:35:21 2010 -0700 @@ -180,7 +180,7 @@ #define SIGCHLD SIGCLD #endif /* SIGCLD */ -extern char *get_operating_system_release (void); +extern const char *get_operating_system_release (void); /* Serial processes require termios or Windows. */ #if defined (HAVE_TERMIOS) || defined (WINDOWSNT) @@ -3033,7 +3033,8 @@ #ifdef HAVE_GETADDRINFO struct addrinfo ai, *res, *lres; struct addrinfo hints; - char *portstring, portbuf[128]; + const char *portstring; + char portbuf[128]; #else /* HAVE_GETADDRINFO */ struct _emacs_addrinfo { @@ -5415,7 +5416,7 @@ This function can evaluate Lisp code and can garbage collect. */ static void -send_process (volatile Lisp_Object proc, unsigned char *volatile buf, +send_process (volatile Lisp_Object proc, const unsigned char *volatile buf, volatile int len, volatile Lisp_Object object) { /* Use volatile to protect variables from being clobbered by longjmp. */ @@ -7423,7 +7424,7 @@ processes. As such, we only change the default value. */ if (initialized) { - char *release = get_operating_system_release (); + const char *release = get_operating_system_release (); if (!release || !release[0] || (release[0] < MIN_PTY_KERNEL_VERSION && release[1] == '.')) { Vprocess_connection_type = Qnil; diff -r 3783b558402b -r 64732fa6188a src/search.c --- a/src/search.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/search.c Mon Aug 09 02:35:21 2010 -0700 @@ -2655,7 +2655,7 @@ for (pos_byte = 0, pos = 0; pos_byte < length;) { unsigned char str[MAX_MULTIBYTE_LENGTH]; - unsigned char *add_stuff = NULL; + const unsigned char *add_stuff = NULL; int add_len = 0; int idx = -1; diff -r 3783b558402b -r 64732fa6188a src/sound.c --- a/src/sound.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/sound.c Mon Aug 09 02:35:21 2010 -0700 @@ -115,10 +115,10 @@ }; #ifdef HAVE_ALSA -static void alsa_sound_perror (char *, int) NO_RETURN; +static void alsa_sound_perror (const char *, int) NO_RETURN; #endif -static void sound_perror (char *) NO_RETURN; -static void sound_warning (char *); +static void sound_perror (const char *) NO_RETURN; +static void sound_warning (const char *); static int parse_sound (Lisp_Object, Lisp_Object *); /* END: Common Definitions */ @@ -329,7 +329,7 @@ /* Like perror, but signals an error. */ static void -sound_perror (char *msg) +sound_perror (const char *msg) { int saved_errno = errno; @@ -347,7 +347,7 @@ /* Display a warning message. */ static void -sound_warning (char *msg) +sound_warning (const char *msg) { message (msg); } @@ -727,7 +727,7 @@ static void vox_open (struct sound_device *sd) { - char *file; + const char *file; /* Open the sound device. Default is /dev/dsp. */ if (sd->file) @@ -872,7 +872,7 @@ static int vox_init (struct sound_device *sd) { - char *file; + const char *file; int fd; /* Open the sound device. Default is /dev/dsp. */ @@ -915,7 +915,7 @@ /* This driver is available on GNU/Linux. */ static void -alsa_sound_perror (char *msg, int err) +alsa_sound_perror (const char *msg, int err) { error ("%s: %s", msg, snd_strerror (err)); } @@ -934,7 +934,7 @@ static void alsa_open (struct sound_device *sd) { - char *file; + const char *file; struct alsa_params *p; int err; @@ -1056,7 +1056,7 @@ int chn; snd_mixer_t *handle; snd_mixer_elem_t *e; - char *file = sd->file ? sd->file : DEFAULT_ALSA_SOUND_DEVICE; + const char *file = sd->file ? sd->file : DEFAULT_ALSA_SOUND_DEVICE; if (snd_mixer_open (&handle, 0) >= 0) { @@ -1220,7 +1220,7 @@ static int alsa_init (struct sound_device *sd) { - char *file; + const char *file; snd_pcm_t *handle; int err; diff -r 3783b558402b -r 64732fa6188a src/sysdep.c --- a/src/sysdep.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/sysdep.c Mon Aug 09 02:35:21 2010 -0700 @@ -630,7 +630,7 @@ if (pid == 0) { - char *sh = 0; + const char *sh = 0; #ifdef DOS_NT /* MW, Aug 1993 */ getwd (oldwd); diff -r 3783b558402b -r 64732fa6188a src/term.c --- a/src/term.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/term.c Mon Aug 09 02:35:21 2010 -0700 @@ -1087,7 +1087,7 @@ not counting any line-dependent padding. */ int -string_cost (char *str) +string_cost (const char *str) { cost = 0; if (str) @@ -1099,7 +1099,7 @@ counting any line-dependent padding at one line. */ static int -string_cost_one_line (char *str) +string_cost_one_line (const char *str) { cost = 0; if (str) @@ -1111,7 +1111,7 @@ in tenths of characters. */ int -per_line_cost (char *str) +per_line_cost (const char *str) { cost = 0; if (str) @@ -2301,7 +2301,7 @@ Returns NULL if the named terminal device is not opened. */ struct terminal * -get_named_tty (char *name) +get_named_tty (const char *name) { struct terminal *t; @@ -3372,7 +3372,7 @@ If MUST_SUCCEED is true, then all errors are fatal. */ struct terminal * -init_tty (char *name, char *terminal_type, int must_succeed) +init_tty (const char *name, const char *terminal_type, int must_succeed) { char *area = NULL; char **address = &area; diff -r 3783b558402b -r 64732fa6188a src/unexelf.c --- a/src/unexelf.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/unexelf.c Mon Aug 09 02:35:21 2010 -0700 @@ -610,7 +610,7 @@ if NOERROR is 0; we return -1 if NOERROR is nonzero. */ static int -find_section (char *name, char *section_names, char *file_name, +find_section (const char *name, char *section_names, char *file_name, ElfW(Ehdr) *old_file_h, ElfW(Shdr) *old_section_h, int noerror) { int idx; diff -r 3783b558402b -r 64732fa6188a src/xrdb.c --- a/src/xrdb.c Sun Aug 08 21:30:10 2010 -0500 +++ b/src/xrdb.c Mon Aug 09 02:35:21 2010 -0700 @@ -53,7 +53,7 @@ extern struct passwd *getpwuid (uid_t); extern struct passwd *getpwnam (const char *); -extern char *get_system_name (void); +extern const char *get_system_name (void); char *x_get_string_resource (XrmDatabase rdb, const char *name, const char *class); @@ -438,7 +438,8 @@ { XrmDatabase db; char *p; - char *path = 0, *home = 0, *host; + char *path = 0, *home = 0; + const char *host; if ((p = getenv ("XENVIRONMENT")) == NULL) {