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.133 2000/08/15 16:00:03 grubba Exp $"); + RCSID("$Id: pike_types.c,v 1.134 2000/08/15 16:01:14 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:25:   #include "pike_memory.h"   #include "bignum.h"   #include "main.h"   #include "opcodes.h"      #define PIKE_TYPE_DEBUG      int max_correct_args;      static void internal_parse_type(char **s); - static int type_length(char *t); + static ptrdiff_t type_length(char *t);   static int low_pike_types_le(char *a, char *b,    int array_cnt, unsigned int flags);   static int low_check_indexing(char *type, char *index_type, node *n);      #define TWOT(X,Y) (((X) << 8)+(Y))   #define EXTRACT_TWOT(X,Y) TWOT(EXTRACT_UCHAR(X), EXTRACT_UCHAR(Y))      /*    * basic types are represented by just their value in a string    * basic type are string, type, int, float, object and program
pike.git/src/pike_types.c:266:   void push_unfinished_type(char *s)   {    int e;    e=type_length(s);    for(e--;e>=0;e--) push_type(s[e]);   }      static void push_unfinished_type_with_markers(char *s,    struct pike_string **am)   { -  int d,e,c,len=type_length(s); +  int d,e,c; +  ptrdiff_t len=type_length(s); +     type_stack_mark();    for(e=0;e<len;e++)    {    switch(c=EXTRACT_UCHAR(s+e))    {   #if 1    case '0': case '1': case '2': case '3': case '4':    case '5': case '6': case '7': case '8': case '9':    if(am[c-'0'])    {