summaryrefslogtreecommitdiffstats
path: root/parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/parser.c b/parser.c
index 6b5a0593..92c67829 100644
--- a/parser.c
+++ b/parser.c
@@ -418,7 +418,7 @@ static void provide_completions(const char *data,
void *ctx)
{
const char *gly = "!$%&*+-<=>?\\_~/";
- const char *ptr = data + strlen(data) - 1;
+ const char *ptr = data[0] ? data + strlen(data) - 1 : 0;
const char *sym = 0, *pkg = 0;
const char *end;
val keyword = nil;
@@ -426,6 +426,9 @@ static void provide_completions(const char *data,
(void) ctx;
+ if (!ptr)
+ return;
+
while ((isalnum(*ptr) || strchr(gly, *ptr)) && (sym = ptr) && ptr > data)
ptr--;