pike.git/
src/
array.c
Branch:
Tag:
Non-build tags
All tags
No tags
1998-04-23
1998-04-23 23:58:52 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>
5fb4a552ee1078c82458f28671e85164ad1ce089 (
20
lines) (+
13
/-
7
)
[
Show
|
Annotate
]
Branch:
7.9
({})/ array and ""/string now returns ({})
Rev: src/array.c:1.34
19:
#include "gc.h" #include "main.h"
-
RCSID("$Id: array.c,v 1.
33
1998/04/
17
17
:
12:
58 hubbe Exp $");
+
RCSID("$Id: array.c,v 1.
34
1998/04/
23
23
:
58
:
52
hubbe Exp $");
struct array empty_array= {
1312:
struct array *ret; char *s, *end, *tmp;
+
if(!str->len)
+
{
+
return allocate_array_no_init(0,0);
+
}
if(!del->len) { ret=allocate_array_no_init(str->len,0);
1661:
struct array *tmp; q=start=0;
-
push_array
(a)
;
/*
Save
us
from
destructive
slice_arrays
*/
-
add
_
ref
(
a
);
+
if
(
!
a
->size
)
+
{
+
return
allocate
_
array_no_init
(
0,0
);
+
}
if(b->size) { for(e=0;e<=a->size - b->size;e++)
1675:
if(d==b->size) { check_stack(1);
-
push_array(slice_array(a, start, e));
+
push_array(
friendly_
slice_array(a, start, e));
q++; e+=b->size-1; start=e+1; } } check_stack(1);
-
push_array(slice_array(a, start, a->size));
+
push_array(
friendly_
slice_array(a, start, a->size));
q++; }else{ check_stack(a->size);
-
for(e=0;e<a->size;e++) push_array(slice_array(a, e, e+1));
+
for(e=0;e<a->size;e++) push_array(
friendly_
slice_array(a, e, e+1));
q=a->size; } tmp=aggregate_array(q); if(tmp->size) tmp->type_field=BIT_ARRAY;
-
pop_stack();
+
return tmp; }