1998-02-27
1998-02-27 08:41:45 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>
-
9649497b52f75540e9de252427fa8596918bf19b
(22 lines)
(+22/-0)
[
Show
| Annotate
]
Branch: 7.9
lots of changes
Rev: src/acconfig.h:1.16
Rev: src/array.c:1.30
Rev: src/array.h:1.11
Rev: src/builtin_functions.c:1.74
Rev: src/compilation.h:1.7
Rev: src/configure.in:1.160
Rev: src/dynamic_load.c:1.24
Rev: src/interpret.c:1.69
Rev: src/interpret.h:1.19
Rev: src/language.yacc:1.61
Rev: src/las.c:1.53
Rev: src/main.c:1.42
Rev: src/modules/Makefile.in:1.15
Rev: src/modules/dynamic_module_makefile.in:1.31
Rev: src/modules/spider/dumudp.c:1.34
Rev: src/modules/static_module_makefile.in:1.25
Rev: src/modules/system/system.c:1.42
Rev: src/program.c:1.64
Rev: src/program.h:1.33
270:
*/
struct array *resize_array(struct array *a, INT32 size)
{
+ #ifdef DEBUG
+ if(d_flag > 1) array_check_type_field(a);
+ #endif
+
if(a->size == size) return a;
if(size > a->size)
{
425: Inside #if defined(DEBUG)
#ifdef DEBUG
if(start > end || end>v->size || start<0)
fatal("Illegal arguments to slice_array()\n");
+
+ if(d_flag > 1) array_check_type_field(v);
#endif
if(start==0 && v->refs==1) /* Can we use the same array? */
452: Inside #if defined(DEBUG)
#ifdef DEBUG
if(start > end || end>v->size || start<0)
fatal("Illegal arguments to slice_array()\n");
+
+ if(d_flag > 1) array_check_type_field(v);
#endif
a=allocate_array_no_init(end-start,0);
1288:
return a;
}
+ struct array *append_array(struct array *a, struct svalue *s)
+ {
+ a=resize_array(a,a->size+1);
+ array_set_index(a, a->size-1, s);
+ return a;
+ }
+
struct array *explode(struct pike_string *str,
struct pike_string *del)
{
1385:
struct processing doing;
struct array *ret;
+ #ifdef DEBUG
+ if(d_flag > 1) array_check_type_field(a);
+ #endif
+
doing.next=p;
doing.pointer_a=(void *)a;
for(;p;p=p->next)
1401:
doing.pointer_b=(void *)ret;
copy_svalues_recursively_no_free(ITEM(ret),ITEM(a),a->size,&doing);
+
+ ret->type_field=a->type_field;
return ret;
}