diff -rNu nautilus-1.0.6-orig/components/help/hyperbola-filefmt.c nautilus-1.0.6/components/help/hyperbola-filefmt.c --- nautilus-1.0.6-orig/components/help/hyperbola-filefmt.c Wed Nov 7 17:05:47 2001 +++ nautilus-1.0.6/components/help/hyperbola-filefmt.c Thu Mar 7 00:28:02 2002 @@ -1137,7 +1137,7 @@ FILE *pipe; int i; int bytes_read; - + int result; char *doc_uri; char *doc_data[3] = { NULL }; @@ -1201,13 +1201,15 @@ pipe = popen (toc_location, "r"); bytes_read = fread ((void *) toc_location, sizeof (char), 1024, pipe); + result = pclose(pipe); if (bytes_read > 0) { toc_location[bytes_read - 1] = '\0'; /* Exit code of 0 indicates ScrollKeeper returned a TOC file path */ - if (!pclose (pipe)) { + /* if (!pclose (pipe)) { */ + if (!result) { fmt_scrollkeeper_parse_doc_toc (tree, section, toc_location, doc_uri); @@ -1224,10 +1226,13 @@ pipe = popen (index_location, "r"); bytes_read = fread ((void *) index_location, sizeof (char), 1024, pipe); + result = pclose(pipe); + if (bytes_read > 0) { index_location[bytes_read - 1] = '\0'; /* Exit code of 0 indicates ScrollKeeper returned an index file */ - if (!pclose (pipe)) { + /* if (!pclose (pipe)) { */ + if (!result) { char *key, *index; key = g_strdup(doc_uri); index = g_strdup(index_location);