pike.git/
src/
array.c
Branch:
Tag:
Non-build tags
All tags
No tags
1998-04-28
1998-04-28 23:54:21 by Henrik Grubbström (Grubba) <grubba@grubba.org>
bc68dccf328e825ef1a101b2bbf8f9fb1216650e (
27
lines) (+
23
/-
4
)
[
Show
|
Annotate
]
Branch:
7.9
Improved index out of range error-messages.
Rev: src/array.c:1.36
19:
#include "gc.h" #include "main.h"
-
RCSID("$Id: array.c,v 1.
35
1998/04/
27
22
:
33
:
17
hubbe
Exp $");
+
RCSID("$Id: array.c,v 1.
36
1998/04/
28
23
:
54
:
21
grubba
Exp $");
struct array empty_array= {
161:
case T_INT: i=ind->u.integer; if(i<0) i+=a->size;
-
if(i<0 || i>=a->size) error("Index out of range.\n");
+
if(i<0 || i>=a->size)
{
+
if (a->size) {
+
error("Index
%d is
out of range
0 - %d
.\n"
, i, a->size-1
);
+
} else {
+
error("Attempt to index the empty array with %d.\n", i);
+
}
+
}
array_index_no_free(s,a,i); break;
218:
error("Index is not an integer.\n"); i=ind->u.integer; if(i<0) i+=a->size;
-
if(i<0 || i>=a->size) error("Index out of range.\n");
+
if(i<0 || i>=a->size)
{
+
if (a->size) {
+
error("Index
%d is
out of range
0 - %d
.\n"
, i, a->size-1
);
+
} else {
+
error("Attempt to index the empty array with %d.\n", i);
+
}
+
}
array_set_index(a,i,s); }
887:
error("Index is not an integer.\n"); i=ind->u.integer; if(i<0) i+=a->size;
-
if(i<0 || i>=a->size) error("Index out of range.\n");
+
if(i<0 || i>=a->size)
{
+
if (a->size) {
+
error("Index
%d is
out of range
0 - %d
.\n"
, i, a->size-1
);
+
} else {
+
error("Attempt to index the empty array with %d.\n", i);
+
}
+
}
return low_array_get_item_ptr(a,i,t); }