annotate src/w32reg.c @ 109902:df9d0b151262

ChangeLog fixes.
author Glenn Morris <rgm@gnu.org>
date Fri, 20 Aug 2010 19:21:51 -0700
parents e27859da5624
children 55c8c3ca3d48
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
1 /* Emulate the X Resource Manager through the registry.
75227
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 68651
diff changeset
2 Copyright (C) 1990, 1993, 1994, 2001, 2002, 2003, 2004,
106815
1d1d5d9bd884 Add 2010 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 105669
diff changeset
3 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
4
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 13434
diff changeset
5 This file is part of GNU Emacs.
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 13434
diff changeset
6
94963
8971ddf55736 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 79759
diff changeset
7 GNU Emacs is free software: you can redistribute it and/or modify
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
94963
8971ddf55736 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 79759
diff changeset
9 the Free Software Foundation, either version 3 of the License, or
8971ddf55736 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 79759
diff changeset
10 (at your option) any later version.
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
11
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 13434
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
15 GNU General Public License for more details.
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
16
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
94963
8971ddf55736 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 79759
diff changeset
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
19
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
20 /* Written by Kevin Gallo */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
21
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
22 #include <config.h>
105669
68dd71358159 * alloc.c: Do not define struct catchtag.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 105069
diff changeset
23 #include <setjmp.h>
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
24 #include "lisp.h"
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
25 #include "w32term.h"
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
26 #include "blockinput.h"
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
27
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
28 #include <stdio.h>
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
29 #include <string.h>
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
30
15149
685510b93c83 (REG_ROOT): Remove trailing backslash.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14353
diff changeset
31 #define REG_ROOT "SOFTWARE\\GNU\\Emacs"
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
32
51501
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
33 /* Default system colors from the Display Control Panel settings. */
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
34 #define SYSTEM_DEFAULT_RESOURCES \
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
35 "emacs.foreground:SystemWindowText\0" \
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
36 "emacs.background:SystemWindow\0" \
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
37 "emacs.tooltip.attributeForeground:SystemInfoText\0" \
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
38 "emacs.tooltip.attributeBackground:SystemInfoWindow\0" \
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
39 "emacs.tool-bar.attributeForeground:SystemButtonText\0" \
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
40 "emacs.tool-bar.attributeBackground:SystemButtonFace\0" \
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
41 "emacs.menu.attributeForeground:SystemMenuText\0" \
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
42 "emacs.menu.attributeBackground:SystemMenu\0" \
78609
7cabb4564b1b (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
Jason Rumney <jasonr@gnu.org>
parents: 78260
diff changeset
43 "emacs.scroll-bar.attributeForeground:SystemScrollbar\0"
51501
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
44
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
45 /* Other possibilities for default faces:
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
46
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
47 region: Could use SystemHilight, but interferes with our ability to
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
48 see most syntax highlighting through the region face.
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
49
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
50 modeline: Could use System(In)ActiveTitle, gradient versions (not
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
51 supported on 95 and NT), but modeline is more like a status bar
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
52 really (which don't appear to be configurable in Windows).
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
53
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
54 highlight: Could use SystemHotTrackingColor, but it is not supported
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
55 on Windows 95 or NT, and other apps only seem to use it for menus
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
56 anyway.
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
57
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
58 */
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
59
50040
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
60 static char *
109152
e27859da5624 src/w32*.c: Convert function definitions to standard C.
Juanma Barranquero <lekktu@gmail.com>
parents: 106815
diff changeset
61 w32_get_rdb_resource (char *rdb, char *resource)
50040
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
62 {
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
63 char *value = rdb;
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
64 int len = strlen (resource);
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
65
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
66 while (*value)
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
67 {
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
68 /* Comparison is case-insensitive because registry searches are too. */
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
69 if ((strnicmp (value, resource, len) == 0) && (value[len] == ':'))
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
70 return xstrdup (&value[len + 1]);
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
71
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
72 value = strchr (value, '\0') + 1;
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
73 }
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
74
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
75 return NULL;
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
76 }
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
77
105069
4cbb223d0b1c The --quick command line option now ignores X resources and Registry settings.
Juanma Barranquero <lekktu@gmail.com>
parents: 100951
diff changeset
78 static LPBYTE
109152
e27859da5624 src/w32*.c: Convert function definitions to standard C.
Juanma Barranquero <lekktu@gmail.com>
parents: 106815
diff changeset
79 w32_get_string_resource (char *name, char *class, DWORD dwexptype)
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
80 {
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
81 LPBYTE lpvalue = NULL;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
82 HKEY hrootkey = NULL;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
83 DWORD dwType;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
84 DWORD cbData;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
85 BOOL ok = FALSE;
24672
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
86 HKEY hive = HKEY_CURRENT_USER;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 24672
diff changeset
87
24672
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
88 trykey:
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
89
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
90 BLOCK_INPUT;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 24672
diff changeset
91
24672
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
92 /* Check both the current user and the local machine to see if we have
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
93 any resources */
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
94
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
95 if (RegOpenKeyEx (hive, REG_ROOT, 0, KEY_READ, &hrootkey) == ERROR_SUCCESS)
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
96 {
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
97 char *keyname;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 24672
diff changeset
98
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
99 if (RegQueryValueEx (hrootkey, name, NULL, &dwType, NULL, &cbData) == ERROR_SUCCESS
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
100 && dwType == dwexptype)
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
101 {
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
102 keyname = name;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 24672
diff changeset
103 }
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
104 else if (RegQueryValueEx (hrootkey, class, NULL, &dwType, NULL, &cbData) == ERROR_SUCCESS
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
105 && dwType == dwexptype)
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
106 {
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
107 keyname = class;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
108 }
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
109 else
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
110 {
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
111 keyname = NULL;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
112 }
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 24672
diff changeset
113
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
114 ok = (keyname
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
115 && (lpvalue = (LPBYTE) xmalloc (cbData)) != NULL
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
116 && RegQueryValueEx (hrootkey, keyname, NULL, NULL, lpvalue, &cbData) == ERROR_SUCCESS);
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 24672
diff changeset
117
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
118 RegCloseKey (hrootkey);
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
119 }
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 24672
diff changeset
120
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
121 UNBLOCK_INPUT;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 24672
diff changeset
122
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 24672
diff changeset
123 if (!ok)
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
124 {
24672
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
125 if (lpvalue)
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
126 {
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
127 xfree (lpvalue);
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
128 lpvalue = NULL;
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
129 }
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
130 if (hive == HKEY_CURRENT_USER)
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
131 {
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
132 hive = HKEY_LOCAL_MACHINE;
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
133 goto trykey;
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
134 }
51501
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
135
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
136 /* Check if there are Windows specific defaults defined. */
b79b842995c2 (SYSTEM_DEFAULT_RESOURCES): New constant.
Jason Rumney <jasonr@gnu.org>
parents: 50364
diff changeset
137 return w32_get_rdb_resource (SYSTEM_DEFAULT_RESOURCES, name);
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 24672
diff changeset
138 }
24672
8387918b52c6 (w32_get_string_resource): Check for name in current
Andrew Innes <andrewi@gnu.org>
parents: 16588
diff changeset
139 return (lpvalue);
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
140 }
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
141
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
142 /* Retrieve the string resource specified by NAME with CLASS from
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
143 database RDB. */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
144
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
145 char *
109152
e27859da5624 src/w32*.c: Convert function definitions to standard C.
Juanma Barranquero <lekktu@gmail.com>
parents: 106815
diff changeset
146 x_get_string_resource (XrmDatabase rdb, char *name, char *class)
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
147 {
50040
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
148 if (rdb)
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
149 {
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
150 char *resource;
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
151
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
152 if (resource = w32_get_rdb_resource (rdb, name))
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
153 return resource;
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
154 if (resource = w32_get_rdb_resource (rdb, class))
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
155 return resource;
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
156 }
57e262ca5d0d (w32_get_rdb_resource): New function.
Juanma Barranquero <lekktu@gmail.com>
parents: 49600
diff changeset
157
105069
4cbb223d0b1c The --quick command line option now ignores X resources and Registry settings.
Juanma Barranquero <lekktu@gmail.com>
parents: 100951
diff changeset
158 if (inhibit_x_resources)
4cbb223d0b1c The --quick command line option now ignores X resources and Registry settings.
Juanma Barranquero <lekktu@gmail.com>
parents: 100951
diff changeset
159 /* --quick was passed, so this is a no-op. */
4cbb223d0b1c The --quick command line option now ignores X resources and Registry settings.
Juanma Barranquero <lekktu@gmail.com>
parents: 100951
diff changeset
160 return NULL;
4cbb223d0b1c The --quick command line option now ignores X resources and Registry settings.
Juanma Barranquero <lekktu@gmail.com>
parents: 100951
diff changeset
161
16588
481b7874a1e9 Change identifiers of the form win32* to w32*.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15149
diff changeset
162 return (w32_get_string_resource (name, class, REG_SZ));
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
163 }
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51501
diff changeset
164
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51501
diff changeset
165 /* arch-tag: 755fce25-42d7-4acb-874f-2fb42336823d
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51501
diff changeset
166 (do not change this comment) */