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.285 2007/04/13 17:38:17 grubba Exp $ + || $Id: pike_types.c,v 1.286 2007/04/13 17:46:51 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:4744:    /* FIXME: Loop above until function? */    if ((orig_type->type != T_FUNCTION) &&    (orig_type->type != T_MANY)) {    /* Failure. */    break;    }    type_stack_mark();    while((soft_type->type == T_FUNCTION) ||    (orig_type->type == T_FUNCTION)) {    if (!(tmp2 = soft_cast(soft_type->car, orig_type->car, -  flags ^ SOFT_WEAKER))) { +  flags ^ SOFT_WEAKER)) || +  (tmp2 == void_type_string)) {    goto function_cast_fail;    }    push_finished_type(tmp2);    free_type(tmp2);    tmp2 = NULL;    if (soft_type->type == T_FUNCTION) soft_type = soft_type->cdr;    if (orig_type->type == T_FUNCTION) orig_type = orig_type->cdr;    loop_cnt++;    }   #ifdef PIKE_DEBUG