pike.git / src / pike_types.c

version» Context lines:

pike.git/src/pike_types.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: pike_types.c,v 1.64 1999/11/20 22:15:45 grubba Exp $"); + RCSID("$Id: pike_types.c,v 1.65 1999/11/20 22:52:26 grubba Exp $");   #include <ctype.h>   #include "svalue.h"   #include "pike_types.h"   #include "stralloc.h"   #include "stuff.h"   #include "array.h"   #include "program.h"   #include "constants.h"   #include "object.h"   #include "multiset.h"
pike.git/src/pike_types.c:912:    return EXTRACT_UCHAR(t);    }   }      TYPE_T compile_type_to_runtime_type(struct pike_string *s)   {    return low_compile_type_to_runtime_type(s->str);   }       - static int low_find_exact_type_match(char *needle, char *haystack) + static int low_find_exact_type_match(char *needle, char *haystack, +  int separator)   { -  while(EXTRACT_UCHAR(haystack)==T_OR) +  while(EXTRACT_UCHAR(haystack) == separator)    {    haystack++; -  if(low_find_exact_type_match(needle, haystack)) +  if(low_find_exact_type_match(needle, haystack, separator))    return 1;    haystack+=type_length(haystack);    }    return low_is_same_type(needle, haystack);   }      static void very_low_or_pike_types(char *to_push, char *not_push)   {    while(EXTRACT_UCHAR(to_push)==T_OR)    {    to_push++;    very_low_or_pike_types(to_push, not_push);    to_push+=type_length(to_push);    } -  if(!low_find_exact_type_match(to_push, not_push)) +  if(!low_find_exact_type_match(to_push, not_push, T_OR))    {    push_unfinished_type(to_push);    push_type(T_OR);    }   }      static void low_or_pike_types(char *t1, char *t2)   {    if(!t1)    {
pike.git/src/pike_types.c:998:   }      static void very_low_and_pike_types(char *to_push, char *not_push)   {    while(EXTRACT_UCHAR(to_push)==T_AND)    {    to_push++;    very_low_and_pike_types(to_push, not_push);    to_push+=type_length(to_push);    } -  if(!low_find_exact_type_match(to_push, not_push)) +  if(!low_find_exact_type_match(to_push, not_push, T_AND))    {    push_unfinished_type(to_push);    push_type(T_AND);    }   }      static void low_and_pike_types(char *t1, char *t2)   {    if(!t1)    {