X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/82e2a1f054cc0306494d1194036af4c5d7301caf..3f13130005dfc51fa4982659aa289cb8753cfd26:/src/xrdb.c diff --git a/src/xrdb.c b/src/xrdb.c index 59b0876ebf..589856d6ee 100644 --- a/src/xrdb.c +++ b/src/xrdb.c @@ -1,5 +1,6 @@ /* Deal with the X Resource Manager. - Copyright (C) 1990, 1993-1994, 2000-2012 Free Software Foundation, Inc. + Copyright (C) 1990, 1993-1994, 2000-2014 Free Software Foundation, + Inc. Author: Joseph Arceneaux Created: 4/90 @@ -47,10 +48,6 @@ along with GNU Emacs. If not, see . */ #include "keyboard.h" #endif -char *x_get_string_resource (XrmDatabase rdb, const char *name, - const char *class); - - /* X file search path processing. */ @@ -74,18 +71,9 @@ x_get_customization_string (XrmDatabase db, const char *name, sprintf (full_class, "%s.%s", class, "Customization"); result = x_get_string_resource (db, full_name, full_class); - - if (result) - { - char *copy = xmalloc (strlen (result) + 1); - strcpy (copy, result); - return copy; - } - else - return 0; + return result ? xstrdup (result) : NULL; } - /* Expand all the Xt-style %-escapes in STRING, whose length is given by STRING_LEN. Here are the escapes we're supposed to recognize: @@ -123,7 +111,7 @@ magic_db (const char *string, ptrdiff_t string_len, const char *class, char *lang = getenv ("LANG"); ptrdiff_t path_size = 100; - char *path = xmalloc (path_size); + char *path = xmalloc_atomic (path_size); ptrdiff_t path_len = 0; const char *p = string; @@ -191,7 +179,7 @@ magic_db (const char *string, ptrdiff_t string_len, const char *class, else next = p, next_len = 1; - /* Do we have room for this component followed by a '\0' ? */ + /* Do we have room for this component followed by a '\0'? */ if (path_size - path_len <= next_len) { if (min (PTRDIFF_MAX, SIZE_MAX) / 2 - 1 - path_len < next_len) @@ -244,11 +232,9 @@ gethomedir (void) if (ptr == NULL) return xstrdup ("/"); - copy = xmalloc (strlen (ptr) + 2); + copy = xmalloc_atomic (strlen (ptr) + 2); strcpy (copy, ptr); - strcat (copy, "/"); - - return copy; + return strcat (copy, "/"); } @@ -369,7 +355,7 @@ get_user_db (Display *display) char *xdefault; home = gethomedir (); - xdefault = xmalloc (strlen (home) + sizeof ".Xdefaults"); + xdefault = xmalloc_atomic (strlen (home) + sizeof (".Xdefaults")); strcpy (xdefault, home); strcat (xdefault, ".Xdefaults"); db = XrmGetFileDatabase (xdefault); @@ -604,7 +590,7 @@ x_get_string_resource (XrmDatabase rdb, const char *name, const char *class) if (x_get_resource (rdb, name, class, x_rm_string, &value)) return (char *) value.addr; - return (char *) 0; + return 0; } /* Stand-alone test facilities. */ @@ -633,10 +619,7 @@ member (char *elt, List list) static void fatal (char *msg, char *prog) { - if (errno) - perror (prog); - - (void) fprintf (stderr, msg, prog); + fprintf (stderr, msg, prog); exit (1); } @@ -657,10 +640,7 @@ main (int argc, char **argv) displayname = "localhost:0.0"; lp = member ("-xrm", arg_list); - if (! NIL (lp)) - resource_string = car (cdr (lp)); - else - resource_string = (char *) 0; + resource_string = NIL (lp) ? 0 : car (cdr (lp)); lp = member ("-c", arg_list); if (! NIL (lp))