Add support for large files, plus some locale improvements.
[bpt/emacs.git] / lwlib / xrdb.c
CommitLineData
a08cb76c
DL
1/* This file overrides the R4 or R5 mit/lib/Xt/Initialize.c, except that
2 the functions lwlib_GetFileDatabase(), lwlib_CombineFileDatabase(), and
3 lwlib_xrdb_initialize() are called. By doing this silly cpp hack, we
4 avoid version skew problems.
5 */
6
0f0912e6
PE
7#ifdef HAVE_CONFIG_H
8#include <config.h>
9#endif
10
a08cb76c
DL
11#include <X11/Xlib.h>
12#include <X11/cursorfont.h>
13#include <X11/Xutil.h>
14
15#ifdef XlibSpecificationRelease
16#if XlibSpecificationRelease >= 5
17#define HAVE_X11R5
18#endif
19#endif
20
21extern struct _XrmHashBucketRec *lwlib_GetFileDatabase ();
22extern void lwlib_xrdb_initialize ();
23
24/* Replace all calls to XrmGetFileDatabase() with lwlib_GetFileDatabase(),
25 calls to XrmCombineFileDatabase() with lwlib_CombineFileDatabase(), and
26 rename the defined _XtDisplayInitialize() function.
27 */
28#define XrmGetFileDatabase lwlib_GetFileDatabase
29#define XrmCombineFileDatabase lwlib_CombineFileDatabase
30#define _XtDisplayInitialize _orig_XtDisplayInitialize
31
32/* Suck in the original code. Don't change this: see comments in Imakefile. */
33#include "Initialize.c"
34
35#undef XrmGetFileDatabase
36#undef XrmCombineFileDatabase
37#undef _XtDisplayInitialize
38
39/* Now provide a definition of _XtDisplayInitialize() which invokes the
40 original code after calling our initialization hook. Note that the R4
41 and R5 versions of _XtDisplayInitialize() take different arguments.
42 */
43
44#ifndef HAVE_X11R5
45
46void _XtDisplayInitialize(dpy, pd, name, class, urlist, num_urs, argc, argv)
47 Display *dpy;
48 XtPerDisplay pd;
49 String name, class;
50 XrmOptionDescRec *urlist;
51 Cardinal num_urs;
52 Cardinal *argc;
53 char *argv[];
54{
55 lwlib_xrdb_initialize(dpy);
56 _orig_XtDisplayInitialize(dpy, pd, name, class, urlist, num_urs, argc, argv);
57}
58
59#else /* HAVE_X11R5 */
60
61void _XtDisplayInitialize(dpy, pd, name, urlist, num_urs, argc, argv)
62 Display *dpy;
63 XtPerDisplay pd;
64 String name;
65 XrmOptionDescRec *urlist;
66 Cardinal num_urs;
67 int *argc;
68 char **argv;
69{
70 lwlib_xrdb_initialize(dpy);
71 _orig_XtDisplayInitialize(dpy, pd, name, urlist, num_urs, argc, argv);
72}
73
74#endif /* HAVE_X11R5 */