X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=handy.h;h=379fab8b04e22288218a43350844b041d3becb27;hb=3bb63ce62db2f3ee2964b123e979675f768f552c;hp=b6350a9ed16448c245e98c4023ce4ae3493551a7;hpb=ff68c7194e176ca1907544a3a65684b76834d0fe;p=p5sagit%2Fp5-mst-13.2.git diff --git a/handy.h b/handy.h index b6350a9..379fab8 100644 --- a/handy.h +++ b/handy.h @@ -1,6 +1,6 @@ /* handy.h * - * Copyright (c) 1991-1994, Larry Wall + * Copyright (c) 1991-1997, Larry Wall * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -81,6 +81,23 @@ standard library calls (where we pass an I32 and the library is expecting an int), but the disadvantage that an I32 is not 32 bits. Andy Dougherty August 1996 + + In the future, we may perhaps want to think about something like + #if INTSIZE == 4 + typedef I32 int; + #else + # if LONGSIZE == 4 + typedef I32 long; + # else + # if SHORTSIZE == 4 + typedef I32 short; + # else + typedef I32 int; + # endif + # endif + #endif + For the moment, these are mentioned here so metaconfig will + construct Configure to figure out the various sizes. */ typedef char I8; @@ -113,6 +130,10 @@ typedef unsigned short U16; # define U32_MIN PERL_ULONG_MIN #endif +#define BIT_DIGITS(N) (((N)*146)/485 + 1) /* log2(10) =~ 146/485 */ +#define TYPE_DIGITS(T) BIT_DIGITS(sizeof(T) * 8) +#define TYPE_CHARS(T) (TYPE_DIGITS(T) + 2) /* sign, NUL */ + #define Ctl(ch) ((ch) & 037) #define strNE(s1,s2) (strcmp(s1,s2)) @@ -124,6 +145,14 @@ typedef unsigned short U16; #define strnNE(s1,s2,l) (strncmp(s1,s2,l)) #define strnEQ(s1,s2,l) (!strncmp(s1,s2,l)) +#ifdef HAS_MEMCMP +# define memNE(s1,s2,l) (memcmp(s1,s2,l)) +# define memEQ(s1,s2,l) (!memcmp(s1,s2,l)) +#else +# define memNE(s1,s2,l) (bcmp(s1,s2,l)) +# define memEQ(s1,s2,l) (!bcmp(s1,s2,l)) +#endif + /* * Character classes. * @@ -252,7 +281,7 @@ typedef U16 line_t; #define Safefree(d) safexfree((Malloc_t)d) #define NEWSV(x,len) newSV(x,len) -#define MAXXCOUNT 1200 +#define MAXXCOUNT 1400 long xcount[MAXXCOUNT]; long lastxcount[MAXXCOUNT];