emacs-diffs
[Top][All Lists]
Advanced

[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));
  }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]