|
From: Peep P. <so...@us...> - 2004-07-23 17:05:02
|
Update of /cvsroot/agd/server/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13508 Modified Files: vars.c Log Message: Bitwise operators; renamed stringdup to xstrdup Index: vars.c =================================================================== RCS file: /cvsroot/agd/server/src/vars.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- vars.c 21 Jul 2004 11:54:01 -0000 1.16 +++ vars.c 23 Jul 2004 17:04:36 -0000 1.17 @@ -184,9 +184,9 @@ if(!v2->u.s) buf = NULL; else - buf = stringdup(v2->u.s); + buf = xstrdup(v2->u.s); } else if(!v2->u.s) - buf = stringdup(v1->u.s); + buf = xstrdup(v1->u.s); else { buf = xmalloc(strlen(v1->u.s) + strlen(v2->u.s) + 1); sprintf(buf, "%s%s", v1->u.s, v2->u.s); @@ -257,6 +257,20 @@ return ret; } +variable_t *band_vars(variable_t *var1, variable_t *var2) +{ + variable_t *ret; + ret = xmalloc(sizeof(variable_t)); + if(var1->type & T_ARRAY && var2->type & T_ARRAY) { + ret->type = var1->type; + ret->u.a = intersect_arrays(var1->u.a, var2->u.a); + } else { + ret->type = T_INT; + ret->u.i = var1->u.i & var2->u.i; + } + return ret; +} + char *type2str(int t) { if(t & T_ARRAY) { |