]> granicus.if.org Git - graphviz/commitdiff
Add trace when setting lib directory
authorerg <devnull@localhost>
Thu, 20 Nov 2008 17:22:36 +0000 (17:22 +0000)
committererg <devnull@localhost>
Thu, 20 Nov 2008 17:22:36 +0000 (17:22 +0000)
lib/gvc/gvconfig.c
lib/gvc/gvcproc.h
lib/gvc/gvplugin.c

index b6088f5b825ee46f228235c5a815eff5d912163b..474c43ec942afc2ed244b81419fc37ef7bad68b7 100644 (file)
@@ -38,7 +38,7 @@ typedef struct {
     char **gl_pathv;        /* list of paths matching pattern */
 } glob_t;
 static void globfree (glob_t* pglob);
-static int glob (char*, int, int (*errfunc)(const char *, int), glob_t*);
+static int glob (GVC_t * gvc, char*, int, int (*errfunc)(const char *, int), glob_t*);
 #else
 #include        <regex.h>
 #include       <glob.h>
@@ -271,7 +271,7 @@ static void gvconfig_write_library_config(GVC_t *gvc, char *path, gvplugin_libra
 
 #define BSZ 1024
 
-char * gvconfig_libdir(void)
+char * gvconfig_libdir(GVC_t * gvc)
 {
     static char line[BSZ];
     static char *libdir;
@@ -331,6 +331,9 @@ char * gvconfig_libdir(void)
            }
 #endif
        }
+       if (gvc->common.verbose > 1) 
+           fprintf (stderr, "libdir = \"%s\"\n",
+               (libdir ? libdir : "<null>"));
     }
     return libdir;
 }
@@ -385,7 +388,7 @@ static void config_rescan(GVC_t *gvc, char *config_path)
        fprintf(f, "# Manual edits to this file **will be lost** on upgrade.\n\n");
     }
 
-    libdir = gvconfig_libdir();
+    libdir = gvconfig_libdir(gvc);
 
     config_re = gmalloc(strlen(plugin_re_beg) + 20 + strlen(plugin_re_end) + 1);
 
@@ -407,7 +410,12 @@ static void config_rescan(GVC_t *gvc, char *config_path)
     strcat(config_glob, plugin_glob);
 
     /* load all libraries even if can't save config */
+
+#if defined(WIN32)
+    rc = glob(gvc, config_glob, GLOB_NOSORT, NULL, &globbuf);
+#else
     rc = glob(config_glob, GLOB_NOSORT, NULL, &globbuf);
+#endif
     if (rc == 0) {
        for (i = 0; i < globbuf.gl_pathc; i++) {
            re_status = regexec(&re, globbuf.gl_pathv[i], (size_t) 0, NULL, 0);
@@ -508,7 +516,7 @@ void gvconfig(GVC_t * gvc, boolean rescan)
 #ifdef ENABLE_LTDL
     if (Demand_Loading) {
         /* see if there are any new plugins */
-        libdir = gvconfig_libdir();
+        libdir = gvconfig_libdir(gvc);
         rc = stat(libdir, &libdir_st);
         if (rc == -1) {
            /* if we fail to stat it then it probably doesn't exist so just fail silently */
@@ -576,11 +584,9 @@ void gvconfig(GVC_t * gvc, boolean rescan)
  * Assumes only GLOB_NOSORT flag given. That is, there is no offset,
  * and no previous call to glob.
  */
-char * gvconfig_libdir(void);
 
 static int
-glob (char* pattern, int flags, int (*errfunc)(const char *, int),
-         glob_t *pglob)
+glob (GVC_t* gvc, char* pattern, int flags, int (*errfunc)(const char *, int), glob_t *pglob)
 {
     char* libdir;
     WIN32_FIND_DATA wfd;
@@ -594,7 +600,7 @@ glob (char* pattern, int flags, int (*errfunc)(const char *, int),
     
     h = FindFirstFile (pattern, &wfd);
     if (h == INVALID_HANDLE_VALUE) return GLOB_NOMATCH;
-    libdir = gvconfig_libdir();
+    libdir = gvconfig_libdir(gvc);
     do {
       if (cnt >= arrsize-1) {
         arrsize += 512;
index 2859414b11c04a94a2be5cf22fce3f26c1e03a3c..bd5cb25a00707004a51af27770107baf00c05792 100644 (file)
@@ -27,7 +27,7 @@ extern "C" {
 
 /* configuration */
 
-    extern char *gvconfig_libdir(void);
+    extern char *gvconfig_libdir(GVC_t * gvc);
     extern void gvconfig(GVC_t * gvc, boolean rescan);
     extern char *gvhostname(void);
 
index c44c8f5d40356b4d3b033bbb69bf09fac7885db2..edb8463609be7ba12e113d8c86426e26247c7b86 100644 (file)
@@ -166,7 +166,7 @@ gvplugin_library_t *gvplugin_library_load(GVC_t *gvc, char *path)
     if (!Demand_Loading)
        return NULL;
 
-    libdir = gvconfig_libdir();
+    libdir = gvconfig_libdir(gvc);
     len = strlen(libdir) + 1 + strlen(path) + 1;
     if (len > lenp) {
        lenp = len+20;