pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:366:    case T_MAPPING:    case T_OR:    case T_AND:    case PIKE_T_RING:    case T_ARRAY:    case T_STRING:    case PIKE_T_TRANSITIVE:    /* Free car & cdr */    free_type(car);    t = (struct pike_type *) cdr; -  debug_free_type_preamble (t); +  if (t) debug_free_type_preamble (t);    goto loop;       case PIKE_T_AUTO:    if (!car)    break;    /* FALLTHRU */    case T_MULTISET:    case T_NOT:    case T_TYPE:    case T_PROGRAM:    /* Free car */    t = (struct pike_type *) car; -  debug_free_type_preamble (t); +  if (t) debug_free_type_preamble (t);    goto loop;       case T_SCOPE:    case T_ASSIGN:    /* Free cdr */    t = (struct pike_type *) cdr; -  debug_free_type_preamble (t); +  if (t) debug_free_type_preamble (t);    goto loop;       case PIKE_T_ATTRIBUTE:    case PIKE_T_NAME:    free_string((struct pike_string *)car);    t = (struct pike_type *) cdr; -  debug_free_type_preamble (t); +  if (t) debug_free_type_preamble (t);    goto loop;       case PIKE_T_OPERATOR:    /* Free car and maybe cdr. */    if (type & 0x8000) {    /* Free cdr. */    free_type(cdr);    }    t = car; -  debug_free_type_preamble(t); +  if (t) debug_free_type_preamble(t);    goto loop;      #ifdef PIKE_DEBUG    case '0':    case '1':    case '2':    case '3':    case '4':    case '5':    case '6':