mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-21 21:07:57 +02:00
126 lines
3.1 KiB
Diff
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))
|