summaryrefslogtreecommitdiff
path: root/src/info2html/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/info2html/parse.c')
-rw-r--r--src/info2html/parse.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/info2html/parse.c b/src/info2html/parse.c
index fe960e76..67575c87 100644
--- a/src/info2html/parse.c
+++ b/src/info2html/parse.c
@@ -40,11 +40,14 @@ NODE *parse_node_line( NODE *node, char * line )
temp = line;
+ /* have trouble on (dir) file which has a slightly diferrent 'File:' line */
+ /* so currently we have a hack here */
if (!(result=parse_node_label( &temp, "File:", 0)))
return NULL;
node->filename = result;
- if (!(result=parse_node_label( &temp, "Node:", 1)))
+ /* don't allow_eof if we are looking at the 'dir' file, its a special case */
+ if (!(result=parse_node_label(&temp,"Node:",strcmp(node->filename, "dir"))))
return NULL;
node->nodename = result;
@@ -86,8 +89,11 @@ char *parse_node_label( char **line, char *label, int allow_eof )
if (end == NULL)
end = strstr( start, "\n" );
}
- else
+ else {
end = strstr( start, "," );
+ if (!end)
+ end = strstr( start, "\t" ); /* might help (dir) files */
+ }
if (end == NULL)
return NULL;