From d4dbf9723451c90bfd009dfb308e9caff142e1ff Mon Sep 17 00:00:00 2001 From: Charlie Gordon Date: Sat, 9 Aug 2014 17:27:21 +0000 Subject: [PATCH] small fixes in * clear mode_name in modes derived from text_mode * improved probing function for man-mode --- archive.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/archive.c b/archive.c index 5cf3d1d..6b3c806 100644 --- a/archive.c +++ b/archive.c @@ -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;