pike.git / src / pike_types.c

version» Context lines:

pike.git/src/pike_types.c:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: pike_types.c,v 1.303 2007/04/27 14:43:42 grubba Exp $ + || $Id: pike_types.c,v 1.304 2007/05/01 11:41:12 grubba Exp $   */      #include "global.h"   #include <ctype.h>   #include "svalue.h"   #include "pike_types.h"   #include "stralloc.h"   #include "stuff.h"   #include "array.h"   #include "program.h"
pike.git/src/pike_types.c:524:    t->cdr = cdr;       t->hash = hash;    t->next = pike_type_hash[index];    pike_type_hash[index] = t;       if (flag_method) {    if (flag_method == PT_IS_MARKER) {    t->flags = PT_FLAG_MARKER_0 << (type-'0');    } else { -  /* Clear markers that are assigned in the respective subtrees, -  * but copy the rest. -  */ +     if (car && (flag_method & PT_COPY_CAR)) { -  t->flags |= car->flags & ~(car->flags >> PT_ASSIGN_SHIFT); +  t->flags |= car->flags;    }    if (cdr && (flag_method & PT_COPY_CDR)) { -  t->flags |= cdr->flags & ~(cdr->flags >> PT_ASSIGN_SHIFT); +  t->flags |= cdr->flags;    }    }    }      #ifdef DEBUG_MALLOC    switch(type) {    case T_FUNCTION:    case T_MANY:    case T_TUPLE:    case T_MAPPING: