diff src/doc.c @ 239:41f2f0e326e9 r20-5b18

Import from CVS: tag r20-5b18
author cvs
date Mon, 13 Aug 2007 10:15:48 +0200
parents 0e522484dd2a
children 677f6a0ee643
line wrap: on
line diff
--- a/src/doc.c	Mon Aug 13 10:15:04 2007 +0200
+++ b/src/doc.c	Mon Aug 13 10:15:48 2007 +0200
@@ -428,16 +428,22 @@
 
   CHECK_STRING (filename);
 
-#ifndef CANNOT_DUMP
-  name = (char *) alloca (XSTRING_LENGTH (filename) + 14);
-  strcpy (name, "../lib-src/");
-#else /* CANNOT_DUMP */
-  CHECK_STRING (Vdoc_directory);
-  name = (char *) alloca (XSTRING_LENGTH (filename)
-                          + XSTRING_LENGTH (Vdoc_directory)
-                          + 1);
-  strcpy (name, (char *) XSTRING_DATA (Vdoc_directory));
+#ifdef CANNOT_DUMP
+  if (!NILP(Vdoc_directory))
+    {
+      CHECK_STRING (Vdoc_directory);
+      name = (char *) alloca (XSTRING_LENGTH (filename)
+			      + XSTRING_LENGTH (Vdoc_directory)
+			      + 1);
+      strcpy (name, (char *) XSTRING_DATA (Vdoc_directory));
+    }
+  else
 #endif /* CANNOT_DUMP */
+    {
+      name = (char *) alloca (XSTRING_LENGTH (filename) + 14);
+      strcpy (name, "../lib-src/");
+    }
+
   strcat (name, (char *) XSTRING_DATA (filename));
 
   fd = open (name, O_RDONLY, 0);