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.
+2010-08-09 Dan Nicolaescu <dann@ics.uci.edu>
+
+ 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 <handa@m17n.org>
* charset.c: Include <stdlib.h>
} 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;
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 */
/* 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))
else
{
char tzbuf[100];
- char *tzstring;
+ const char *tzstring;
char **oldenv = environ, **newenv;
if (EQ (zone, Qt))
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)
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;
/* 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;
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
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;
{
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. */
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.
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);
\f
/* 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
-1. */
static int
-parse_matrix (char *p)
+parse_matrix (const char *p)
{
double matrix[4];
char *end;
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);
/* 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':
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;
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;
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;
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)
{
int add_tearoff_p,
GtkWidget *topmenu,
xg_menu_cb_data *cl_data,
- char *name)
+ const char *name)
{
widget_value *item;
GtkWidget *wmenu = topmenu;
xg_make_tool_item (FRAME_PTR f,
GtkWidget *wimage,
GtkWidget **wbutton,
- char *label,
+ const char *label,
int i)
{
GtkToolItem *ti = gtk_tool_item_new ();
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,
/* 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;
event header symbols and put properties on them. */
struct event_head {
Lisp_Object *var;
- char *name;
+ const char *name;
Lisp_Object *kind;
};
register Lisp_Object start1;
struct gcpro gcpro1;
- char *alternate_heading
+ const char *alternate_heading
= "\
Keyboard translations:\n\n\
You type Translation\n\
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";
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 *);
int compiled = 0;
Lisp_Object handler;
int safe_p = 1;
- char *fmode = "r";
+ const char *fmode = "r";
Lisp_Object tmp[2];
int version;
void
init_lread (void)
{
- char *normal;
+ const char *normal;
int turn_off_warning = 0;
/* Compute the default load-path. */
#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)
#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
{
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. */
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;
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;
};
#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 */
/* Like perror, but signals an error. */
static void
-sound_perror (char *msg)
+sound_perror (const char *msg)
{
int saved_errno = errno;
/* Display a warning message. */
static void
-sound_warning (char *msg)
+sound_warning (const char *msg)
{
message (msg);
}
static void
vox_open (struct sound_device *sd)
{
- char *file;
+ const char *file;
/* Open the sound device. Default is /dev/dsp. */
if (sd->file)
static int
vox_init (struct sound_device *sd)
{
- char *file;
+ const char *file;
int fd;
/* Open the sound device. Default is /dev/dsp. */
/* 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));
}
static void
alsa_open (struct sound_device *sd)
{
- char *file;
+ const char *file;
struct alsa_params *p;
int err;
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)
{
static int
alsa_init (struct sound_device *sd)
{
- char *file;
+ const char *file;
snd_pcm_t *handle;
int err;
if (pid == 0)
{
- char *sh = 0;
+ const char *sh = 0;
#ifdef DOS_NT /* MW, Aug 1993 */
getwd (oldwd);
not counting any line-dependent padding. */
int
-string_cost (char *str)
+string_cost (const char *str)
{
cost = 0;
if (str)
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)
in tenths of characters. */
int
-per_line_cost (char *str)
+per_line_cost (const char *str)
{
cost = 0;
if (str)
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;
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;
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;
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);
{
XrmDatabase db;
char *p;
- char *path = 0, *home = 0, *host;
+ char *path = 0, *home = 0;
+ const char *host;
if ((p = getenv ("XENVIRONMENT")) == NULL)
{