From 861d2e2cbffb52cb9cf3efcb5716b041fdfcab91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Fiala?= Date: Fri, 1 Jul 2022 05:51:00 +0200 Subject: [PATCH] gmnlm: don't assume everything starting with b/f is b/f command It was impossible to enter a file:// URL because it got interpreted as a 'f' command without any warning about invalid argument. The same thing happened with relative addresses beginning with 'b' or 'f'. --- src/gmnlm.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/gmnlm.c b/src/gmnlm.c index 9e7b527..e539361 100644 --- a/src/gmnlm.c +++ b/src/gmnlm.c @@ -569,8 +569,11 @@ do_prompts(const char *prompt, struct browser *browser) result = PROMPT_QUIT; goto exit; case 'b': - if (in[1]) { + if (in[1] && isdigit(in[1])) { historyhops =(int)strtol(in+1, &endptr, 10); + if (endptr[0]) break; + } else if (in[1]) { + break; } while (historyhops > 0) { if (browser->history->prev) { @@ -582,8 +585,11 @@ do_prompts(const char *prompt, struct browser *browser) result = PROMPT_ANSWERED; goto exit; case 'f': - if (in[1]) { + if (in[1] && isdigit(in[1])) { historyhops =(int)strtol(in+1, &endptr, 10); + if (endptr[0]) break; + } else if (in[1]) { + break; } while (historyhops > 0) { if (browser->history->next) {