Imported from ../bash-3.1.tar.gz.

This commit is contained in:
Jari Aalto
2005-12-07 14:08:12 +00:00
parent eb87367179
commit 95732b497d
267 changed files with 24541 additions and 18843 deletions

24
array.c
View File

@@ -107,7 +107,7 @@ ARRAY *a;
ARRAY *a1;
ARRAY_ELEMENT *ae, *new;
if (!a)
if (a == 0)
return((ARRAY *) NULL);
a1 = array_create();
a1->type = a->type;
@@ -243,9 +243,9 @@ char *s;
{
register ARRAY_ELEMENT *ae, *new;
if (a == 0)
if (a == 0 || (array_empty(a) && s == 0))
return 0;
if (n <= 0)
else if (n <= 0)
return (a->num_elements);
ae = element_forw(a->head);
@@ -253,16 +253,18 @@ char *s;
new = array_create_element(0, s);
ADD_BEFORE(ae, new);
a->num_elements++;
if (array_num_elements(a) == 1) /* array was empty */
return 1;
}
a->max_index += n;
/*
* Renumber all elements in the array except the one we just added.
*/
for ( ; ae != a->head; ae = element_forw(ae))
element_index(ae) += n;
a->max_index = element_index(a->head->prev);
return (a->num_elements);
}
@@ -288,7 +290,7 @@ ARRAY *array;
ARRAY_ELEMENT *a;
char *t;
if (array == 0 || array->head == 0 || array_empty (array))
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)) {
t = quote_string (a->value);
@@ -313,7 +315,7 @@ int starsub, quoted;
arrayind_t i;
char *ifs, sep[2];
p = array_head (a);
p = a ? array_head (a) : 0;
if (p == 0 || array_empty (a) || start > array_max_index(a))
return ((char *)NULL);
@@ -354,10 +356,10 @@ int mflags;
ARRAY_ELEMENT *e;
char *t, *ifs, sifs[2];
if (array_head (a) == 0 || array_empty (a))
if (a == 0 || array_head(a) == 0 || array_empty(a))
return ((char *)NULL);
a2 = array_copy (a);
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);
FREE(element_value(e));
@@ -427,7 +429,7 @@ char *v;
{
register ARRAY_ELEMENT *new, *ae;
if (!a)
if (a == 0)
return(-1);
new = array_create_element(i, v);
if (i > array_max_index(a)) {
@@ -473,7 +475,7 @@ arrayind_t i;
{
register ARRAY_ELEMENT *ae;
if (!a || array_empty(a))
if (a == 0 || array_empty(a))
return((ARRAY_ELEMENT *) NULL);
for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae))
if (element_index(ae) == i) {