diff --git a/src/stralloc.c b/src/stralloc.c index 00d12008d492ebdfac0743fd05abaf31c1f64301..c61546d05b8b3d9e82fc655f89f49c39f5eed845 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); }