Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 77aef09d91e26be43f9efc2843571963 > files > 4

hobbit-4.2.0-10mdv2009.0.src.rpm

--- lib/stackio.c	2006/07/20 16:06:41	1.20
+++ lib/stackio.c	2006/11/22 15:36:31
@@ -388,15 +388,17 @@
 
 	closedir(dirfd);
 
-	if (fnsz) qsort(fnames, fnsz, sizeof(char *), namecompare);
-	for (i=0; (i<fnsz); i++) {
-		htnames_t *newitem = malloc(sizeof(htnames_t));
-		newitem->name = fnames[i];
-		newitem->next = fnlist;
-		fnlist = newitem;
-	}
+	if (fnsz) {
+		qsort(fnames, fnsz, sizeof(char *), namecompare);
+		for (i=0; (i<fnsz); i++) {
+			htnames_t *newitem = malloc(sizeof(htnames_t));
+			newitem->name = fnames[i];
+			newitem->next = fnlist;
+			fnlist = newitem;
+		}
 
-	xfree(fnames);
+		xfree(fnames);
+	}
 }
 
 char *stackfgets(strbuffer_t *buffer, char *extraincl)
@@ -438,7 +440,7 @@
 				xfree(tmp->name); xfree(tmp);
 				return stackfgets(buffer, extraincl);
 			}
-			else {
+			else if (fnlist) {
 				htnames_t *tmp = fnlist;
 
 				errprintf("WARNING: Cannot open include file '%s', line was:%s\n", fnlist->name, buffer);
@@ -447,6 +449,11 @@
 				if (eol) *eol = '\n';
 				return result;
 			}
+			else {
+				/* Empty directory include - return a blank line */
+				*result = '\0'; 
+				return result;
+			}
 		}
 	}
 	else if (result == NULL) {