pike.git/
src/
array.c
Branch:
Tag:
Non-build tags
All tags
No tags
1995-11-15
1995-11-15 09:55:42 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>
f9771c2dcc472dc6ffdf3bb0773c3da4bd0b17d8 (
17
lines) (+
15
/-
2
)
[
Show
|
Annotate
]
Branch:
branches/E-12
fixed some 64-bit-machine problems
Rev: src/array.c:1.2
231:
v->type_field |= BIT_INT; SHORT_ITEM(v)[index].refs=0; }else if(v->array_type == s->type){
+
v->type_field |= 1 << s->type;
assign_to_short_svalue( SHORT_ITEM(v)+index, v->array_type, s); }else{ free_array(v);
272:
(char *)(ITEM(v)+index), (v->size-index) * sizeof(struct svalue)); ITEM(v)[index].type=T_INT;
+
#ifdef __CHECKER__
+
ITEM(v)[index].subtype=0;
+
ITEM(v)[index].u.refs=0;
+
#endif
}else{ MEMMOVE((char *)(SHORT_ITEM(v)+index+1), (char *)(SHORT_ITEM(v)+index),
290:
MEMCPY(ITEM(ret), ITEM(v), sizeof(struct svalue) * index); MEMCPY(ITEM(ret)+index+1, ITEM(v)+index, sizeof(struct svalue) * (v->size-index)); ITEM(ret)[index].type=T_INT;
+
#ifdef __CHECKER__
+
ITEM(ret)[index].subtype=0;
+
ITEM(ret)[index].u.refs=0;
+
#endif
}else{ MEMCPY(SHORT_ITEM(ret), SHORT_ITEM(v), sizeof(union anything) * index);
854:
return ~a; }else if(s->type == v->array_type ||
-
(
s->type==T
_
INT
&& v->array_type != T_FLOAT)){
+
(
IS_ZERO(
s
)
&& v->array_type != T_FLOAT)){
short_cmpfun fun;
-
+
if(IS_ZERO(s))
+
MEMSET((char *)&s->u, 0, sizeof(union anything));
+
fun=backfun(v->array_type); a=0;
1009:
ret=allocate_array_no_init(v->size, 0, type); for(e=0; e<v->size; e++) assign_to_short_svalue_no_free(SHORT_ITEM(ret)+e,
-
ITEM(v)[e].
type,
+
type,
ITEM(v)+e); free_array(v); return ret;