pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:3868:    unsigned INT32 allocated;   };      static int alloc_remap_marker(struct remap_state *remap, int marker,    enum pt_remap_flags flags)   {    int ret;       marker = marker & 0x0f;    -  if (!remap) return '0' | marker; +  if (!remap || (flags & PT_FLAG_REMAP_INHIBIT)) return '0' | marker;       if (flags & PT_FLAG_REMAP_SWAP_MARKERS) marker |= 0x10;       if ((ret = remap->map[marker])) return ret;       for (ret = 0; ret < 10; ret++) {    if (!(remap->allocated & (1 << ret))) {    remap->allocated |= (1 << ret);    ret |= '0';    remap->map[marker] = ret;
pike.git/src/pike_types.cmod:3893:    return 0;   }      static int remap_marker(struct remap_state *remap, int marker,    enum pt_remap_flags flags)   {    int ret;       marker = marker & 0x0f;    -  if (!remap) return '0' | marker; +  if (!remap || (flags & PT_FLAG_REMAP_INHIBIT)) return '0' | marker;       if (flags & PT_FLAG_REMAP_SWAP_MARKERS) marker |= 0x10;       if ((ret = remap->map[marker])) return ret;       for (ret = 0; ret < 10; ret++) {    if (!(remap->allocated & (1 << ret))) {    remap->allocated |= (1 << ret);    ret |= '0';    remap->map[marker] = ret;
pike.git/src/pike_types.cmod:3916:    }       return 0;   }      static void free_marker(struct remap_state *remap, int marker,    enum pt_remap_flags flags)   {    int m;    -  if (!remap) return; +  if (!remap || (flags & PT_FLAG_REMAP_INHIBIT)) return;       marker &= 0x0f;       if (flags & PT_FLAG_REMAP_SWAP_MARKERS) marker |= 0x10;       if (!(m = remap->map[marker])) return;       remap->map[marker] = 0;    remap->allocated &= ~(1 << (m & 0x0f));   }
pike.git/src/pike_types.cmod:3964:    SET_SVAL(val, T_TYPE, 0, type, value);    mapping_insert(markers, &key, &val);   }   #define store_marker(MAP, M, T) store_marker(debug_malloc_pass(MAP), M, debug_malloc_pass(T))      static void push_remap_markers(struct pike_type *t,    struct mapping *markers,    struct remap_state *remap,    enum pt_remap_flags flags)   { -  if (!t || (!remap && !markers && !(flags & PT_FLAG_REMAP_EVAL_MARKERS))) { +  if (!t || (flags & PT_FLAG_REMAP_INHIBIT) || +  (!remap && !markers && !(flags & PT_FLAG_REMAP_EVAL_MARKERS))) {    push_finished_type(t);    return;    }       /* FIXME: Use the type flags to detect whether we can just push    * the type verbatim.    */       switch(t->type & PIKE_T_MASK) {    case T_ASSIGN: