/* Emulate the X Resource Manager through the registry.
- Copyright (C) 1990, 1993, 1994, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1990, 1993-1994, 2001-2016 Free Software Foundation,
+ Inc.
This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
/* Written by Kevin Gallo */
#include <config.h>
-#include <setjmp.h>
#include "lisp.h"
-#include "w32term.h"
+#include "w32term.h" /* for XrmDatabase, xrdb */
#include "blockinput.h"
#include <stdio.h>
-#include <string.h>
#define REG_ROOT "SOFTWARE\\GNU\\Emacs"
*/
static char *
-w32_get_rdb_resource (char *rdb, char *resource)
+w32_get_rdb_resource (const char *rdb, const char *resource)
{
- char *value = rdb;
+ char *value = (char *)rdb;
int len = strlen (resource);
while (*value)
return NULL;
}
-static LPBYTE
-w32_get_string_resource (char *name, char *class, DWORD dwexptype)
+static char *
+w32_get_string_resource (const char *name, const char *class, DWORD dwexptype)
{
LPBYTE lpvalue = NULL;
HKEY hrootkey = NULL;
trykey:
- BLOCK_INPUT;
+ block_input ();
/* Check both the current user and the local machine to see if we have
any resources */
if (RegOpenKeyEx (hive, REG_ROOT, 0, KEY_READ, &hrootkey) == ERROR_SUCCESS)
{
- char *keyname;
+ const char *keyname;
if (RegQueryValueEx (hrootkey, name, NULL, &dwType, NULL, &cbData) == ERROR_SUCCESS
&& dwType == 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)
{
/* Check if there are Windows specific defaults defined. */
return w32_get_rdb_resource (SYSTEM_DEFAULT_RESOURCES, name);
}
- return (lpvalue);
+ return (char *)lpvalue;
}
/* Retrieve the string resource specified by NAME with CLASS from
database RDB. */
char *
-x_get_string_resource (XrmDatabase rdb, char *name, char *class)
+x_get_string_resource (XrmDatabase rdb, const char *name, const 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;
}
/* --quick was passed, so this is a no-op. */
return NULL;
- return (w32_get_string_resource (name, class, REG_SZ));
+ return w32_get_string_resource (name, class, REG_SZ);
}
-
-/* arch-tag: 755fce25-42d7-4acb-874f-2fb42336823d
- (do not change this comment) */