Files
bash/array.c.diff
T
2011-12-03 13:35:53 -05:00

126 lines
3.1 KiB
Diff

*** ../bash-3.0/array.c Thu May 6 08:24:13 2004
--- array.c Wed Aug 25 15:50:42 2004
***************
*** 108,112 ****
ARRAY_ELEMENT *ae, *new;
! if (!a)
return((ARRAY *) NULL);
a1 = array_create();
--- 108,112 ----
ARRAY_ELEMENT *ae, *new;
! if (a == 0)
return((ARRAY *) NULL);
a1 = array_create();
***************
*** 244,250 ****
register ARRAY_ELEMENT *ae, *new;
! if (a == 0)
return 0;
! if (n <= 0)
return (a->num_elements);
--- 244,250 ----
register ARRAY_ELEMENT *ae, *new;
! if (a == 0 || (array_empty(a) && s == 0))
return 0;
! else if (n <= 0)
return (a->num_elements);
***************
*** 254,257 ****
--- 254,259 ----
ADD_BEFORE(ae, new);
a->num_elements++;
+ if (array_num_elements(a) == 1) /* array was empty */
+ return 1;
}
***************
*** 289,293 ****
char *t;
! if (array == 0 || array->head == 0 || array_empty (array))
return (ARRAY *)NULL;
for (a = element_forw(array->head); a != array->head; a = element_forw(a)) {
--- 291,295 ----
char *t;
! if (array == 0 || array_head(array) == 0 || array_empty(array))
return (ARRAY *)NULL;
for (a = element_forw(array->head); a != array->head; a = element_forw(a)) {
***************
*** 314,318 ****
char *ifs, sep[2];
! p = array_head (a);
if (p == 0 || array_empty (a) || start > array_max_index(a))
return ((char *)NULL);
--- 316,320 ----
char *ifs, sep[2];
! p = a ? array_head (a) : 0;
if (p == 0 || array_empty (a) || start > array_max_index(a))
return ((char *)NULL);
***************
*** 355,362 ****
char *t, *ifs, sifs[2];
! if (array_head (a) == 0 || array_empty (a))
return ((char *)NULL);
! a2 = array_copy (a);
for (e = element_forw(a2->head); e != a2->head; e = element_forw(e)) {
t = pat_subst(element_value(e), pat, rep, mflags);
--- 357,364 ----
char *t, *ifs, sifs[2];
! if (a == 0 || array_head(a) == 0 || array_empty(a))
return ((char *)NULL);
! a2 = array_copy(a);
for (e = element_forw(a2->head); e != a2->head; e = element_forw(e)) {
t = pat_subst(element_value(e), pat, rep, mflags);
***************
*** 428,432 ****
register ARRAY_ELEMENT *new, *ae;
! if (!a)
return(-1);
new = array_create_element(i, v);
--- 430,434 ----
register ARRAY_ELEMENT *new, *ae;
! if (a == 0)
return(-1);
new = array_create_element(i, v);
***************
*** 452,456 ****
array_dispose_element(new);
free(element_value(ae));
! ae->value = savestring(v);
return(0);
} else if (element_index(ae) > i) {
--- 454,458 ----
array_dispose_element(new);
free(element_value(ae));
! ae->value = v ? savestring(v) : (char *)NULL;
return(0);
} else if (element_index(ae) > i) {
***************
*** 474,478 ****
register ARRAY_ELEMENT *ae;
! if (!a || array_empty(a))
return((ARRAY_ELEMENT *) NULL);
for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae))
--- 476,480 ----
register ARRAY_ELEMENT *ae;
! if (a == 0 || array_empty(a))
return((ARRAY_ELEMENT *) NULL);
for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae))