small fixes in

* clear mode_name in modes derived from text_mode
* improved probing function for man-mode
This commit is contained in:
Charlie Gordon 2014-08-09 17:27:21 +00:00
commit d4dbf97234

View file

@ -183,6 +183,7 @@ static int archive_init(void)
/* copy and patch text_mode */
memcpy(&archive_mode, &text_mode, sizeof(ModeDef));
archive_mode.name = "archive";
archive_mode.mode_name = NULL;
archive_mode.mode_probe = archive_mode_probe;
archive_mode.data_type = &archive_data_type;
@ -282,6 +283,7 @@ static int compress_init(void)
/* copy and patch text_mode */
memcpy(&compress_mode, &text_mode, sizeof(ModeDef));
compress_mode.name = "compress";
compress_mode.mode_name = NULL;
compress_mode.mode_probe = compress_mode_probe;
compress_mode.data_type = &compress_data_type;
@ -358,6 +360,7 @@ static int wget_init(void)
/* copy and patch text_mode */
memcpy(&wget_mode, &text_mode, sizeof(ModeDef));
wget_mode.name = "wget";
wget_mode.mode_name = NULL;
wget_mode.mode_probe = wget_mode_probe;
wget_mode.data_type = &wget_data_type;
@ -398,6 +401,10 @@ static int man_mode_probe(ModeDef *mode, ModeProbeData *p)
}
}
if (!memcmp(p->buf, ".tr *\\(**", 9)
|| !memcmp(p->buf, ".\\\" ", 4))
goto has_man;
return 0;
}
@ -442,6 +449,7 @@ static int man_init(void)
/* copy and patch text_mode */
memcpy(&man_mode, &text_mode, sizeof(ModeDef));
man_mode.name = "man";
man_mode.mode_name = NULL;
man_mode.mode_probe = man_mode_probe;
man_mode.data_type = &man_data_type;