]> code.delx.au - gnu-emacs/blobdiff - src/w32reg.c
Prefer `message1' over `message'.
[gnu-emacs] / src / w32reg.c
index 56e3b42917b9772b5ee08a2a77e235ecda1636e7..e7c4e9ea3513abf66f03ec1302196ca61084d693 100644 (file)
@@ -1,6 +1,6 @@
 /* Emulate the X Resource Manager through the registry.
-   Copyright (C) 1990, 1993, 1994, 2001, 2002, 2003, 2004,
-                 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+   Copyright (C) 1990, 1993-1994, 2001-2013 Free Software Foundation,
+   Inc.
 
 This file is part of GNU Emacs.
 
@@ -25,7 +25,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #include "blockinput.h"
 
 #include <stdio.h>
-#include <string.h>
 
 #define REG_ROOT "SOFTWARE\\GNU\\Emacs"
 
@@ -57,9 +56,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 */
 
 static char *
-w32_get_rdb_resource (rdb, resource)
-     char *rdb;
-     char *resource;
+w32_get_rdb_resource (char *rdb, char *resource)
 {
   char *value = rdb;
   int len = strlen (resource);
@@ -76,10 +73,8 @@ w32_get_rdb_resource (rdb, resource)
   return NULL;
 }
 
-LPBYTE
-w32_get_string_resource (name, class, dwexptype)
-     char *name, *class;
-     DWORD dwexptype;
+static LPBYTE
+w32_get_string_resource (char *name, char *class, DWORD dwexptype)
 {
   LPBYTE lpvalue = NULL;
   HKEY hrootkey = NULL;
@@ -90,7 +85,7 @@ w32_get_string_resource (name, class, dwexptype)
 
  trykey:
 
-  BLOCK_INPUT;
+  block_input ();
 
   /* Check both the current user and the local machine to see if we have
      any resources */
@@ -115,13 +110,13 @@ w32_get_string_resource (name, class, dwexptype)
        }
 
       ok = (keyname
-           && (lpvalue = (LPBYTE) xmalloc (cbData)) != NULL
+           && (lpvalue = xmalloc (cbData)) != NULL
            && RegQueryValueEx (hrootkey, keyname, NULL, NULL, lpvalue, &cbData) == ERROR_SUCCESS);
 
       RegCloseKey (hrootkey);
     }
 
-  UNBLOCK_INPUT;
+  unblock_input ();
 
   if (!ok)
     {
@@ -146,22 +141,21 @@ w32_get_string_resource (name, class, dwexptype)
    database RDB. */
 
 char *
-x_get_string_resource (rdb, name, class)
-     XrmDatabase rdb;
-     char *name, *class;
+x_get_string_resource (XrmDatabase rdb, char *name, char *class)
 {
   if (rdb)
     {
       char *resource;
 
-      if (resource = w32_get_rdb_resource (rdb, name))
+      if ((resource = w32_get_rdb_resource (rdb, name)))
         return resource;
-      if (resource = w32_get_rdb_resource (rdb, class))
+      if ((resource = w32_get_rdb_resource (rdb, class)))
         return resource;
     }
 
-  return (w32_get_string_resource (name, class, REG_SZ));
-}
+  if (inhibit_x_resources)
+    /* --quick was passed, so this is a no-op.  */
+    return NULL;
 
-/* arch-tag: 755fce25-42d7-4acb-874f-2fb42336823d
-   (do not change this comment) */
+  return w32_get_string_resource (name, class, REG_SZ);
+}