[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/w32reg.c
From: |
Juanma Barranquero |
Subject: |
[Emacs-diffs] Changes to emacs/src/w32reg.c |
Date: |
Thu, 06 Mar 2003 08:04:49 -0500 |
Index: emacs/src/w32reg.c
diff -c emacs/src/w32reg.c:1.8 emacs/src/w32reg.c:1.9
*** emacs/src/w32reg.c:1.8 Tue Feb 4 09:03:16 2003
--- emacs/src/w32reg.c Thu Mar 6 08:04:47 2003
***************
*** 30,35 ****
--- 30,55 ----
#define REG_ROOT "SOFTWARE\\GNU\\Emacs"
+ static char *
+ w32_get_rdb_resource (rdb, resource)
+ char *rdb;
+ char *resource;
+ {
+ char *value = rdb;
+ int len = strlen (resource);
+
+ while (*value)
+ {
+ /* Comparison is case-insensitive because registry searches are too. */
+ if ((strnicmp (value, resource, len) == 0) && (value[len] == ':'))
+ return xstrdup (&value[len + 1]);
+
+ value = strchr (value, '\0') + 1;
+ }
+
+ return NULL;
+ }
+
LPBYTE
w32_get_string_resource (name, class, dwexptype)
char *name, *class;
***************
*** 99,106 ****
char *
x_get_string_resource (rdb, name, class)
! int rdb;
char *name, *class;
{
return (w32_get_string_resource (name, class, REG_SZ));
}
--- 119,136 ----
char *
x_get_string_resource (rdb, name, class)
! char *rdb;
char *name, *class;
{
+ if (rdb)
+ {
+ char *resource;
+
+ if (resource = w32_get_rdb_resource (rdb, name))
+ return resource;
+ if (resource = w32_get_rdb_resource (rdb, class))
+ return resource;
+ }
+
return (w32_get_string_resource (name, class, REG_SZ));
}
- [Emacs-diffs] Changes to emacs/src/w32reg.c,
Juanma Barranquero <=