Mercurial > emacs
view lwlib/xrdb.c @ 31897:a292cc13911a
(GC_CHECK_STRING_BYTES): Temporarily define, for bug
hunting.
(struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
size in the sdata structure.
(SDATA_NBYTES, SDATA_DATA): New macros.
(SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
differently for the different layout of the sdata structure.
(allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
in sdata.
(sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
Check that size recorded in the string size and size recorded in
the sdata structure agree.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Tue, 26 Sep 2000 11:11:51 +0000 |
parents | e0d966fb548f |
children |
line wrap: on
line source
/* This file overrides the R4 or R5 mit/lib/Xt/Initialize.c, except that the functions lwlib_GetFileDatabase(), lwlib_CombineFileDatabase(), and lwlib_xrdb_initialize() are called. By doing this silly cpp hack, we avoid version skew problems. */ #ifdef HAVE_CONFIG_H #include <config.h> #endif #include <X11/Xlib.h> #include <X11/cursorfont.h> #include <X11/Xutil.h> #ifdef XlibSpecificationRelease #if XlibSpecificationRelease >= 5 #define HAVE_X11R5 #endif #endif extern struct _XrmHashBucketRec *lwlib_GetFileDatabase (); extern void lwlib_xrdb_initialize (); /* Replace all calls to XrmGetFileDatabase() with lwlib_GetFileDatabase(), calls to XrmCombineFileDatabase() with lwlib_CombineFileDatabase(), and rename the defined _XtDisplayInitialize() function. */ #define XrmGetFileDatabase lwlib_GetFileDatabase #define XrmCombineFileDatabase lwlib_CombineFileDatabase #define _XtDisplayInitialize _orig_XtDisplayInitialize /* Suck in the original code. Don't change this: see comments in Imakefile. */ #include "Initialize.c" #undef XrmGetFileDatabase #undef XrmCombineFileDatabase #undef _XtDisplayInitialize /* Now provide a definition of _XtDisplayInitialize() which invokes the original code after calling our initialization hook. Note that the R4 and R5 versions of _XtDisplayInitialize() take different arguments. */ #ifndef HAVE_X11R5 void _XtDisplayInitialize(dpy, pd, name, class, urlist, num_urs, argc, argv) Display *dpy; XtPerDisplay pd; String name, class; XrmOptionDescRec *urlist; Cardinal num_urs; Cardinal *argc; char *argv[]; { lwlib_xrdb_initialize(dpy); _orig_XtDisplayInitialize(dpy, pd, name, class, urlist, num_urs, argc, argv); } #else /* HAVE_X11R5 */ void _XtDisplayInitialize(dpy, pd, name, urlist, num_urs, argc, argv) Display *dpy; XtPerDisplay pd; String name; XrmOptionDescRec *urlist; Cardinal num_urs; int *argc; char **argv; { lwlib_xrdb_initialize(dpy); _orig_XtDisplayInitialize(dpy, pd, name, urlist, num_urs, argc, argv); } #endif /* HAVE_X11R5 */