pike.git / src / las.c

version» Context lines:

pike.git/src/las.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h" - RCSID("$Id: las.c,v 1.120 1999/11/20 21:13:25 grubba Exp $"); + RCSID("$Id: las.c,v 1.121 1999/11/20 21:16:39 grubba Exp $");      #include "language.h"   #include "interpret.h"   #include "las.h"   #include "array.h"   #include "object.h"   #include "stralloc.h"   #include "dynamic_buffer.h"   #include "lex.h"   #include "pike_types.h"
pike.git/src/las.c:2057:    function_type_max=0;    low_build_function_type(CDR(n));    push_type(T_FUNCTION);    s = pop_type();    f = CAR(n)->type?CAR(n)->type:mixed_type_string;    n->type = check_call(s,f);    args = count_arguments(s);    max_args = count_arguments(f);    if(max_args<0) max_args = 0x7fffffff;    +  free_string(s); +     if (n->type) {    /* Type/argument-check OK. */    break;    }       switch(CAR(n)->token)    {   #if 0 /* FIXME */    case F_TRAMPOLINE:   #endif
pike.git/src/las.c:2113:    {    my_yyerror("Too many arguments to %s.",name);    }    else if(max_correct_args == args)    {    my_yyerror("Too few arguments to %s.",name);    }else{    my_yyerror("Bad argument %d to %s.",    max_correct_args+1, name);    } -  free_string(s); +     }    copy_shared_string(n->type, mixed_type_string);    break;       case '?':    if (!CAR(n) || (CAR(n)->type == void_type_string)) {    yyerror("Conditional expression is void.");    } else if(!match_types(CAR(n)->type,mixed_type_string))    yyerror("Bad conditional expression.");