# HG changeset patch # User YAMAMOTO Mitsuharu # Date 1110960393 0 # Node ID 9497994ad6fcd8c8346a0ef5d146119554c8c8a6 # Parent fa8be36e244db870fdf59c314c3082820515dd56 (mac_get_rdb_resource): Remove function. (x_get_string_resource): Use xrm_get_resource. diff -r fa8be36e244d -r 9497994ad6fc src/macfns.c --- a/src/macfns.c Wed Mar 16 08:05:56 2005 +0000 +++ b/src/macfns.c Wed Mar 16 08:06:33 2005 +0000 @@ -2030,49 +2030,24 @@ /* Subroutines of creating a frame. */ -static char * -mac_get_rdb_resource (rdb, resource) - char *rdb; - char *resource; -{ - char *value = rdb; - int len = strlen (resource); - - while (*value) - { - if ((strncmp (value, resource, len) == 0) && (value[len] == ':')) - return xstrdup (&value[len + 1]); - - value = strchr (value, '\0') + 1; - } - - return NULL; -} - /* Retrieve the string resource specified by NAME with CLASS from - database RDB. */ + database RDB. + + The return value points to the contents of a Lisp string. So it + will not be valid after the next GC where string compaction will + occur. */ char * x_get_string_resource (rdb, name, class) XrmDatabase rdb; char *name, *class; { - if (rdb) - { - char *resource; - - if (resource = mac_get_rdb_resource (rdb, name)) - return resource; - if (resource = mac_get_rdb_resource (rdb, class)) - return resource; - } - - /* MAC_TODO: implement resource strings. (Maybe Property Lists?) */ -#if 0 - return mac_get_string_resource (name, class); -#else - return (char *)0; -#endif + Lisp_Object value = xrm_get_resource (rdb, name, class); + + if (STRINGP (value)) + return SDATA (value); + else + return NULL; } /* Return the value of parameter PARAM.