annotate lwlib/xrdb-cpp.c @ 31384:f6cb7dfe5e7c

(vc-cvs-show-log-entry): New function. (vc-cvs-stay-local): Allow it to be a hostname regexp as well. (vc-cvs-remote-p): Renamed to vc-cvs-stay-local-p. Handle hostname regexps. Updated all callers. (vc-cvs-responsible-p): Handle directories as well. (vc-cvs-could-register): New function. (vc-cvs-retrieve-snapshot): Parse "cvs update" output, keep file properties up-to-date. (vc-cvs-checkout): Do the right thing when the workfile does not exist. (vc-cvs-registered): Use new function vc-cvs-parse-entry to do the actual work. (vc-cvs-remote-p): Allow FILE to be a directory, too. (vc-cvs-dir-state): New function. (vc-cvs-dir-state-heuristic): New function, subroutine of the above. (vc-cvs-parse-entry): New function, also to be used in vc-cvs-registered. (vc-cvs-checkout): Slight restructuring to make the control-flow more clear and to avoid running `cvs' twice. (vc-cvs-workfile-version): Removed comment that this is not reached. It is. (vc-cvs-merge): Set state to 'edited after merge. (vc-cvs-merge-news): Set workfile version to nil if not known. (vc-cvs-latest-on-branch-p): Recommented. Candidate for removal. (vc-cvs-checkin): Raise the max-correct status from 0 to 1. Make sure to switch to *vc* before looking for an error message. Use vc-parse-buffer. (vc-cvs-create-snapshot): Swap DIR and NAME. (vc-cvs-retrieve-snapshot): New function (untested). (vc-cvs-stay-local): Default to t. (vc-cvs-remote-p): New function and property. (vc-cvs-state): Stay local only if the above is t. (vc-handle-cvs): Removed. (vc-cvs-registered): Don't check vc-handle-cvs -- it should all be done via vc-handled-backends now. (vc-cvs-header): Escape Id. (vc-cvs-state, vc-cvs-fetch-status): Use with-temp-file. Use the new BUFFER=t argument to vc-do-command. (vc-cvs-print-log, vc-cvs-diff): Insert in the current buffer. (vc-cvs-state): Use vc-do-command instead of vc-simple-command. (vc-cvs-diff): Remove unused and unsupported argument CMP. (vc-cvs-registered): Obey vc-handle-cvs. (vc-cvs-registered): Use with-temp-buffer. Reorder extraction of fields and call to file-attributes because of a temporary bug in rcp.el. (vc-cvs-fetch-status): Use with-current-buffer. Merge in code from vc-cvs-hooks.el. (proto vc-cvs-registered): Require 'vc-cvs instead of 'vc-cvs-hooks. Don't require 'vc anymore. (vc-cvs-responsible-p): Use expand-file-name instead of concat and file-directory-p instead of file-exists-p. (vc-cvs-create-snapshot): New function, replacing vc-cvs-assign-name. (vc-cvs-assign-name): Remove. (vc-cvs-header): New var. Update Copyright. (vc-cvs-diff): Remove unused `backend' variable. (vc-cvs-checkout): Only toggle read-only if the buffer is setup right. (tail): Provide vc-cvs. (vc-cvs-merge-news, vc-cvs-checkout): Removed call to vc-file-clear-masterprops. (vc-cvs-state): Typo. (vc-cvs-merge-news): Return the status code rather than the error msg. (vc-cvs-state): Don't overwrite a non-heuristic state with a heuristic one. (vc-cvs-merge-news): Just use 'edited for the case with conflicts. (vc-cvs-checkin): Do a trivial parse to set the state in case of error. That allows us to get to 'needs-merge even in the stay-local case. There's still no way to detect 'needs-patch in such a setup (or to force an update for that matter). (vc-cvs-logentry-check): Remove, the default works as well. (vc-cvs-print-log, vc-cvs-diff): Run cvs asynchronously. (vc-cvs-stay-local): Renamed from vc-cvs-simple-toggle. Redocumented. (vc-cvs-state): If locality is wanted, use vc-cvs-state-heuristic. (vc-cvs-toggle-read-only): Removed. (for compiler warnings). (vc-cvs-release, vc-cvs-system-release): Remove. (vc-cvs-use-edit, vc-cvs-simple-toggle): New config variables. (vc-cvs-dired-state-info): Use `cvs-state' and slightly different status symbols. (vc-cvs-parse-status, vc-cvs-state): Move from vc-cvs-hooks.el. (vc-cvs-toggle-read-only): First cut at a function to allow a cvs-status-free vc-toggle-read-only. (vc-cvs-merge-news): Move from cvs-merge-news in vc.el. (vc-cvs-checkin): Use vc-recompute-state+vc-state instead of vc-cvs-status. Also set vc-state rather than vc-locking-user. (vc-cvs-checkout): Modify access rights directly if the user requested not to use `cvs edit'. And refresh the mode line. (if workfile' that got lost when the code was extracted from vc.el. And merged the tail with the rest of the code (not possible in the old vc.el where the tail was shared among all backends). And explicitly set the state to 'edited if `writable' is set. (vc-cvs-revert,vc-cvs-checkout): References to `vc-checkout-model' updated to `vc-cvs-update-model'. (vc-cvs-logentry-check): Function added. (vc-cvs-revert,vc-cvs-checkout): Function calls to `vc-checkout-required' updated to `vc-cvs-uses-locking'. (vc-cvs-admin): Added the query-only option as required by the vc.el file. (vc-cvs-annotate-difference): Updated to handle beginning of annotate buffers correctly. Rename `vc-uses-locking' to `vc-checkout-required'. Rename the `locked' state to `reserved'. (vc-cvs-annotate-difference): Handle possible millenium problem (merged from mainline). Split the annotate feature into a BACKEND-specific part and moved the non-BACKEND stuff to vc.el. (vc-cvs-latest-on-branch-p): Function added. (vc-cvs-revert): Merged and adapted "unedit" patch from main line. (vc-cvs-diff): Function added. (vc-cvs-checkout): Function `vc-cvs-checkout' added. Require vc when compiling. (vc-cvs-register-switches): Doc fix. (vc-annotate-color-map, vc-annotate-menu-elements): Fix custom type. (vc-cvs-print-log, vc-cvs-assign-name, vc-cvs-merge) (vc-cvs-check-headers, vc-cvs-steal, vc-cvs-revert, vc-cvs-checkin): New functions (code from vc.el). (vc-annotate-display-default): Fix interactive spec. (vc-annotate-time-span): Doc fix. Moved the annotate functionality from vc.el. (vc-cvs-admin, vc-cvs-fetch-status): Added from vc.el. (vc-cvs-system-release): Renamed from vc-cvs-backend-release. (vc-cvs-release): Moved from vc.el. (vc-cvs-backend-release): New function. (vc-cvs-dired-state-info, vc-cvs-fetch-status): Moved from vc.el and renamed.
author Gerd Moellmann <gerd@gnu.org>
date Mon, 04 Sep 2000 19:48:04 +0000
parents e0d966fb548f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25842
Dave Love <fx@gnu.org>
parents:
diff changeset
1 /* A general interface to the widgets of different toolkits.
Dave Love <fx@gnu.org>
parents:
diff changeset
2 Copyright (C) 1992, 1993 Lucid, Inc.
Dave Love <fx@gnu.org>
parents:
diff changeset
3
Dave Love <fx@gnu.org>
parents:
diff changeset
4 This file is part of the Lucid Widget Library.
Dave Love <fx@gnu.org>
parents:
diff changeset
5
Dave Love <fx@gnu.org>
parents:
diff changeset
6 The Lucid Widget Library is free software; you can redistribute it and/or
Dave Love <fx@gnu.org>
parents:
diff changeset
7 modify it under the terms of the GNU General Public License as published by
Dave Love <fx@gnu.org>
parents:
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
Dave Love <fx@gnu.org>
parents:
diff changeset
9 any later version.
Dave Love <fx@gnu.org>
parents:
diff changeset
10
Dave Love <fx@gnu.org>
parents:
diff changeset
11 The Lucid Widget Library is distributed in the hope that it will be useful,
Dave Love <fx@gnu.org>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
Dave Love <fx@gnu.org>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Dave Love <fx@gnu.org>
parents:
diff changeset
14 GNU General Public License for more details.
Dave Love <fx@gnu.org>
parents:
diff changeset
15
Dave Love <fx@gnu.org>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
Dave Love <fx@gnu.org>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
Dave Love <fx@gnu.org>
parents:
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Dave Love <fx@gnu.org>
parents:
diff changeset
19 Boston, MA 02111-1307, USA. */
Dave Love <fx@gnu.org>
parents:
diff changeset
20
Dave Love <fx@gnu.org>
parents:
diff changeset
21 /* This code reads a resource database file and filters it through cpp
Dave Love <fx@gnu.org>
parents:
diff changeset
22 with the same set of preprocessor defines that `xrdb' uses.
Dave Love <fx@gnu.org>
parents:
diff changeset
23 Call lwlib_xrdb_initialize(dpy) once, and then call the function
Dave Love <fx@gnu.org>
parents:
diff changeset
24 lwlib_GetFileDatabase() instead of XrmGetFileDatabase(),
Dave Love <fx@gnu.org>
parents:
diff changeset
25 and lwlib_CombineFileDatabase() instead of XrmCombineFileDatabase().
Dave Love <fx@gnu.org>
parents:
diff changeset
26 */
Dave Love <fx@gnu.org>
parents:
diff changeset
27
Dave Love <fx@gnu.org>
parents:
diff changeset
28 #ifndef __STDC_EXTENDED__
Dave Love <fx@gnu.org>
parents:
diff changeset
29 #define __STDC_EXTENDED__
Dave Love <fx@gnu.org>
parents:
diff changeset
30 #endif
Dave Love <fx@gnu.org>
parents:
diff changeset
31
26087
e0d966fb548f Add support for large files, plus some locale improvements.
Paul Eggert <eggert@twinsun.com>
parents: 25842
diff changeset
32 #ifdef HAVE_CONFIG_H
e0d966fb548f Add support for large files, plus some locale improvements.
Paul Eggert <eggert@twinsun.com>
parents: 25842
diff changeset
33 #include <config.h>
e0d966fb548f Add support for large files, plus some locale improvements.
Paul Eggert <eggert@twinsun.com>
parents: 25842
diff changeset
34 #endif
e0d966fb548f Add support for large files, plus some locale improvements.
Paul Eggert <eggert@twinsun.com>
parents: 25842
diff changeset
35
25842
Dave Love <fx@gnu.org>
parents:
diff changeset
36 #include <stdio.h>
Dave Love <fx@gnu.org>
parents:
diff changeset
37 #include <ctype.h>
Dave Love <fx@gnu.org>
parents:
diff changeset
38 #include <X11/Xlib.h>
Dave Love <fx@gnu.org>
parents:
diff changeset
39 #include <X11/Xos.h>
Dave Love <fx@gnu.org>
parents:
diff changeset
40 #include <X11/Intrinsic.h>
Dave Love <fx@gnu.org>
parents:
diff changeset
41 #include <X11/Xmu/SysUtil.h>
Dave Love <fx@gnu.org>
parents:
diff changeset
42 #include <sys/stat.h>
Dave Love <fx@gnu.org>
parents:
diff changeset
43
Dave Love <fx@gnu.org>
parents:
diff changeset
44 extern char *index ();
Dave Love <fx@gnu.org>
parents:
diff changeset
45
Dave Love <fx@gnu.org>
parents:
diff changeset
46 static int
Dave Love <fx@gnu.org>
parents:
diff changeset
47 file_p (path)
Dave Love <fx@gnu.org>
parents:
diff changeset
48 char *path;
Dave Love <fx@gnu.org>
parents:
diff changeset
49 {
Dave Love <fx@gnu.org>
parents:
diff changeset
50 struct stat status;
Dave Love <fx@gnu.org>
parents:
diff changeset
51
Dave Love <fx@gnu.org>
parents:
diff changeset
52 return (access (path, R_OK) == 0 /* exists and is readable */
Dave Love <fx@gnu.org>
parents:
diff changeset
53 && stat (path, &status) == 0 /* get the status */
Dave Love <fx@gnu.org>
parents:
diff changeset
54 && (status.st_mode & S_IFDIR) == 0); /* not a directory */
Dave Love <fx@gnu.org>
parents:
diff changeset
55 }
Dave Love <fx@gnu.org>
parents:
diff changeset
56
Dave Love <fx@gnu.org>
parents:
diff changeset
57 #ifndef CPP_PROGRAM
Dave Love <fx@gnu.org>
parents:
diff changeset
58 #define CPP_PROGRAM "/lib/cpp"
Dave Love <fx@gnu.org>
parents:
diff changeset
59 #endif
Dave Love <fx@gnu.org>
parents:
diff changeset
60
Dave Love <fx@gnu.org>
parents:
diff changeset
61 static char cpp_string [BUFSIZ];
Dave Love <fx@gnu.org>
parents:
diff changeset
62 static char *cpp_file = 0;
Dave Love <fx@gnu.org>
parents:
diff changeset
63
Dave Love <fx@gnu.org>
parents:
diff changeset
64 #define Resolution(pixels, mm) ((((pixels) * 100000 / (mm)) + 50) / 100)
Dave Love <fx@gnu.org>
parents:
diff changeset
65
Dave Love <fx@gnu.org>
parents:
diff changeset
66 void
Dave Love <fx@gnu.org>
parents:
diff changeset
67 lwlib_xrdb_initialize (display)
Dave Love <fx@gnu.org>
parents:
diff changeset
68 Display *display;
Dave Love <fx@gnu.org>
parents:
diff changeset
69 {
Dave Love <fx@gnu.org>
parents:
diff changeset
70 Screen *screen;
Dave Love <fx@gnu.org>
parents:
diff changeset
71 Visual *visual;
Dave Love <fx@gnu.org>
parents:
diff changeset
72 char server [255];
Dave Love <fx@gnu.org>
parents:
diff changeset
73 char *colon, *s;
Dave Love <fx@gnu.org>
parents:
diff changeset
74
Dave Love <fx@gnu.org>
parents:
diff changeset
75 #define Push(str) \
Dave Love <fx@gnu.org>
parents:
diff changeset
76 (strncpy (s, str, sizeof(str)), s += (sizeof(str)-1))
Dave Love <fx@gnu.org>
parents:
diff changeset
77
Dave Love <fx@gnu.org>
parents:
diff changeset
78 #define Print(str, thing) \
Dave Love <fx@gnu.org>
parents:
diff changeset
79 (sprintf (s, str, thing), s = index (s, 0))
Dave Love <fx@gnu.org>
parents:
diff changeset
80
Dave Love <fx@gnu.org>
parents:
diff changeset
81 s = cpp_string;
Dave Love <fx@gnu.org>
parents:
diff changeset
82 Push (CPP_PROGRAM);
Dave Love <fx@gnu.org>
parents:
diff changeset
83
Dave Love <fx@gnu.org>
parents:
diff changeset
84 Push (" -DCLIENTHOST=");
Dave Love <fx@gnu.org>
parents:
diff changeset
85 XmuGetHostname (s, sizeof (cpp_string) - (s - cpp_string));
Dave Love <fx@gnu.org>
parents:
diff changeset
86 s = index (s, 0);
Dave Love <fx@gnu.org>
parents:
diff changeset
87 Push (" -DSERVERHOST=");
Dave Love <fx@gnu.org>
parents:
diff changeset
88 strcpy (s, XDisplayName (DisplayString (display)));
Dave Love <fx@gnu.org>
parents:
diff changeset
89 colon = index (s, ':');
Dave Love <fx@gnu.org>
parents:
diff changeset
90 if (colon == s)
Dave Love <fx@gnu.org>
parents:
diff changeset
91 {
Dave Love <fx@gnu.org>
parents:
diff changeset
92 XmuGetHostname (s, sizeof (cpp_string) - (s - cpp_string));
Dave Love <fx@gnu.org>
parents:
diff changeset
93 s = index (s, 0);
Dave Love <fx@gnu.org>
parents:
diff changeset
94 }
Dave Love <fx@gnu.org>
parents:
diff changeset
95 else if (colon)
Dave Love <fx@gnu.org>
parents:
diff changeset
96 s = colon;
Dave Love <fx@gnu.org>
parents:
diff changeset
97 else
Dave Love <fx@gnu.org>
parents:
diff changeset
98 s = index (s, 0);
Dave Love <fx@gnu.org>
parents:
diff changeset
99
Dave Love <fx@gnu.org>
parents:
diff changeset
100 Print (" -DVERSION=%d", ProtocolVersion(display));
Dave Love <fx@gnu.org>
parents:
diff changeset
101 Print (" -DREVISION=%d", ProtocolRevision(display));
Dave Love <fx@gnu.org>
parents:
diff changeset
102 Print (" -DVENDOR=\"%s\"", ServerVendor(display));
Dave Love <fx@gnu.org>
parents:
diff changeset
103 Print (" -DRELEASE=%d", VendorRelease(display));
Dave Love <fx@gnu.org>
parents:
diff changeset
104 screen = DefaultScreenOfDisplay(display);
Dave Love <fx@gnu.org>
parents:
diff changeset
105 visual = DefaultVisualOfScreen(screen);
Dave Love <fx@gnu.org>
parents:
diff changeset
106 Print (" -DWIDTH=%d", screen->width);
Dave Love <fx@gnu.org>
parents:
diff changeset
107 Print (" -DHEIGHT=%d", screen->height);
Dave Love <fx@gnu.org>
parents:
diff changeset
108 Print (" -DX_RESOLUTION=%d", Resolution(screen->width,screen->mwidth));
Dave Love <fx@gnu.org>
parents:
diff changeset
109 Print (" -DY_RESOLUTION=%d", Resolution(screen->height,screen->mheight));
Dave Love <fx@gnu.org>
parents:
diff changeset
110 Print (" -DPLANES=%d", DisplayPlanes(display, DefaultScreen(display)));
Dave Love <fx@gnu.org>
parents:
diff changeset
111 Print (" -DBITS_PER_RGB=%d", visual->bits_per_rgb);
Dave Love <fx@gnu.org>
parents:
diff changeset
112 switch(visual->class) {
Dave Love <fx@gnu.org>
parents:
diff changeset
113 case StaticGray: Print (" -DCLASS=%s", "StaticGray"); break;
Dave Love <fx@gnu.org>
parents:
diff changeset
114 case GrayScale: Print (" -DCLASS=%s", "GrayScale"); break;
Dave Love <fx@gnu.org>
parents:
diff changeset
115 case StaticColor: Print (" -DCLASS=%s", "StaticColor");
Dave Love <fx@gnu.org>
parents:
diff changeset
116 Print (" -DCOLOR", 0); break;
Dave Love <fx@gnu.org>
parents:
diff changeset
117 case PseudoColor: Print (" -DCLASS=%s", "PseudoColor");
Dave Love <fx@gnu.org>
parents:
diff changeset
118 Print (" -DCOLOR", 0); break;
Dave Love <fx@gnu.org>
parents:
diff changeset
119 case TrueColor: Print (" -DCLASS=%s", "TrueColor");
Dave Love <fx@gnu.org>
parents:
diff changeset
120 Print (" -DCOLOR", 0); break;
Dave Love <fx@gnu.org>
parents:
diff changeset
121 case DirectColor: Print (" -DCLASS=%s", "DirectColor");
Dave Love <fx@gnu.org>
parents:
diff changeset
122 Print (" -DCOLOR", 0); break;
Dave Love <fx@gnu.org>
parents:
diff changeset
123 default:
Dave Love <fx@gnu.org>
parents:
diff changeset
124 fprintf (stderr, "unexpected visual class=%d\n", visual->class);
Dave Love <fx@gnu.org>
parents:
diff changeset
125 exit (-1);
Dave Love <fx@gnu.org>
parents:
diff changeset
126 }
Dave Love <fx@gnu.org>
parents:
diff changeset
127 *s++ = ' ';
Dave Love <fx@gnu.org>
parents:
diff changeset
128 *s = 0;
Dave Love <fx@gnu.org>
parents:
diff changeset
129 cpp_file = s;
Dave Love <fx@gnu.org>
parents:
diff changeset
130 }
Dave Love <fx@gnu.org>
parents:
diff changeset
131
Dave Love <fx@gnu.org>
parents:
diff changeset
132 XrmDatabase
Dave Love <fx@gnu.org>
parents:
diff changeset
133 lwlib_GetFileDatabase (path)
Dave Love <fx@gnu.org>
parents:
diff changeset
134 char *path;
Dave Love <fx@gnu.org>
parents:
diff changeset
135 {
Dave Love <fx@gnu.org>
parents:
diff changeset
136 XrmDatabase db = 0;
Dave Love <fx@gnu.org>
parents:
diff changeset
137 char line [BUFSIZ];
Dave Love <fx@gnu.org>
parents:
diff changeset
138 char *s;
Dave Love <fx@gnu.org>
parents:
diff changeset
139 FILE *file;
Dave Love <fx@gnu.org>
parents:
diff changeset
140
Dave Love <fx@gnu.org>
parents:
diff changeset
141 if (! file_p (path))
Dave Love <fx@gnu.org>
parents:
diff changeset
142 return 0;
Dave Love <fx@gnu.org>
parents:
diff changeset
143
Dave Love <fx@gnu.org>
parents:
diff changeset
144 strcpy (cpp_file, path);
Dave Love <fx@gnu.org>
parents:
diff changeset
145 if (! (file = popen (cpp_string, "r")))
Dave Love <fx@gnu.org>
parents:
diff changeset
146 {
Dave Love <fx@gnu.org>
parents:
diff changeset
147 fprintf (stderr,
Dave Love <fx@gnu.org>
parents:
diff changeset
148 "couldn't execute %s; resource file %s file not munged.\n",
Dave Love <fx@gnu.org>
parents:
diff changeset
149 CPP_PROGRAM, path);
Dave Love <fx@gnu.org>
parents:
diff changeset
150 return XrmGetFileDatabase (path);
Dave Love <fx@gnu.org>
parents:
diff changeset
151 }
Dave Love <fx@gnu.org>
parents:
diff changeset
152 while (s = fgets (line, sizeof (line), file))
Dave Love <fx@gnu.org>
parents:
diff changeset
153 {
Dave Love <fx@gnu.org>
parents:
diff changeset
154 char ch, *tail;
Dave Love <fx@gnu.org>
parents:
diff changeset
155 if (*s == '!') continue;
Dave Love <fx@gnu.org>
parents:
diff changeset
156 for (; ((ch = *s) != '\n') && isspace(ch); s++);
Dave Love <fx@gnu.org>
parents:
diff changeset
157 if ((ch == '\0') || (ch == '\n') || (ch == '#')) continue;
Dave Love <fx@gnu.org>
parents:
diff changeset
158 tail = s + strlen (s);
Dave Love <fx@gnu.org>
parents:
diff changeset
159 if (tail - s < 3) continue; /* this would be syntactically incorrect */
Dave Love <fx@gnu.org>
parents:
diff changeset
160 while (*(tail-1) == '\n' && /* handle \ at end of line */
Dave Love <fx@gnu.org>
parents:
diff changeset
161 *(tail-2) == '\\')
Dave Love <fx@gnu.org>
parents:
diff changeset
162 {
Dave Love <fx@gnu.org>
parents:
diff changeset
163 if (! fgets (tail, sizeof (line) - (tail - line), file))
Dave Love <fx@gnu.org>
parents:
diff changeset
164 continue;
Dave Love <fx@gnu.org>
parents:
diff changeset
165 tail += strlen (tail);
Dave Love <fx@gnu.org>
parents:
diff changeset
166 }
Dave Love <fx@gnu.org>
parents:
diff changeset
167 XrmPutLineResource (&db, s);
Dave Love <fx@gnu.org>
parents:
diff changeset
168 }
Dave Love <fx@gnu.org>
parents:
diff changeset
169 pclose (file);
Dave Love <fx@gnu.org>
parents:
diff changeset
170 return db;
Dave Love <fx@gnu.org>
parents:
diff changeset
171 }
Dave Love <fx@gnu.org>
parents:
diff changeset
172
Dave Love <fx@gnu.org>
parents:
diff changeset
173 #ifdef THIS_IS_X11R5
Dave Love <fx@gnu.org>
parents:
diff changeset
174
Dave Love <fx@gnu.org>
parents:
diff changeset
175 int
Dave Love <fx@gnu.org>
parents:
diff changeset
176 lwlib_CombineFileDatabase (path, target_db, override)
Dave Love <fx@gnu.org>
parents:
diff changeset
177 char *path;
Dave Love <fx@gnu.org>
parents:
diff changeset
178 XrmDatabase *target_db;
Dave Love <fx@gnu.org>
parents:
diff changeset
179 Bool override;
Dave Love <fx@gnu.org>
parents:
diff changeset
180 {
Dave Love <fx@gnu.org>
parents:
diff changeset
181 XrmDatabase source_db = lwlib_GetFileDatabase (path);
Dave Love <fx@gnu.org>
parents:
diff changeset
182 if (! source_db)
Dave Love <fx@gnu.org>
parents:
diff changeset
183 return (! file_p (path));
Dave Love <fx@gnu.org>
parents:
diff changeset
184 XrmCombineDatabase (source_db, target_db, override);
Dave Love <fx@gnu.org>
parents:
diff changeset
185 return 1;
Dave Love <fx@gnu.org>
parents:
diff changeset
186 }
Dave Love <fx@gnu.org>
parents:
diff changeset
187
Dave Love <fx@gnu.org>
parents:
diff changeset
188 #endif /* r5 */