From 49ed18955d7422e37ea8fca951ab50a877bdef46 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Thu, 15 Oct 1998 04:34:37 +0200
Subject: [PATCH] Improved indexing error message.

Rev: src/stralloc.c:1.45
---
 src/stralloc.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/stralloc.c b/src/stralloc.c
index 00d12008d4..c61546d05b 100644
--- a/src/stralloc.c
+++ b/src/stralloc.c
@@ -15,7 +15,7 @@
 
 #include <ctype.h>
 
-RCSID("$Id: stralloc.c,v 1.44 1998/10/14 22:18:18 hubbe Exp $");
+RCSID("$Id: stralloc.c,v 1.45 1998/10/15 02:34:37 grubba Exp $");
 
 #define BEGIN_HASH_SIZE 997
 #define MAX_AVG_LINK_LENGTH 3
@@ -91,8 +91,13 @@ static INLINE unsigned INT32 generic_extract (const void *str, int size, int pos
 INLINE unsigned INT32 index_shared_string(struct pike_string *s, int pos)
 {
 #ifdef DEBUG
-  if(pos > s->len || pos<0)
-    fatal("string index out of range!\n");
+  if(pos >= s->len || pos<0) {
+    if (s->len) {
+      fatal("String index %d is out of range [0 - %d]!\n", pos, s->len-1);
+    } else {
+      fatal("Attempt to index the empty string with %d!\n", pos);
+    }
+  }
 #endif
   return generic_extract(s->str,s->size_shift,pos);
 }
-- 
GitLab