[w3m-dev 01442] isdigit and IS_DIGIT

From: Hironori Sakamoto (hsaka@mth.biglobe.ne.jp)
Date: Fri Dec 01 2000 - 09:44:09 CST

  • Next message: Okabe Katsuya: "[w3m-dev 01443] table stack overflow"

    $B:dK\$G$9!#(B
    $B$A$g$C$HOCBj$,$+$o$j$^$9$,!"(B

    $B:G6a$N%=!<%9$G(B isdigit $B$d(B isaplha $B$r;H$C$F$$$k2U=j$,(B
    $BA}$($F$$$k$h$&$G$9!#(B
    0x80-0xff $B$NJ8;z$G8mF0:n$9$k$3$H$rKI$0$?$a$K!"(B
    IS_DIGIT $B$d(B IS_ALPHA $B$r;H$&;v$K$7$?MM$K;W$$$^$9!#(B
    IS_??? $B$KE}0l$7$^$;$s$+!)(B

    ($B;29M(B)
     Message-Id: <991122211649.6069BE13.0687602@mth.biglobe.ne.jp>
     Message-Id: <199911241036.FAA14174@ei5hp710.yz.yamagata-u.ac.jp>
    # $B2{$+$7$$!"0lG/A0$N%a!<%k!#$?$^$KFI$`$H:$$C$?$H$3$m$H$+=q$$$F$"$C$F7k9=M-MQ!#(B
    # javascript $B$I$3$X$$$C$?!#(B(javascript $B$C$F%[%s%H$$$$2C8:$J8@8l$@$1$I(B)

    $B;29M$^$G$K!"(B
    w3m-m17n $B$G0J2<$NMM$J(B myctype.[ch] $B$r;H$C$F$$$^$9!#(B
    libc $B$H$d$C$F$$$k$3$H$OF1$8$H;W$$$^$9$1$I!#(B
    -----------------------------------
    $B:dK\(B $B9@B'(B <hsaka@mth.biglobe.ne.jp>
     http://www2u.biglobe.ne.jp/~hsaka/

    ================> myctype.c <===============

    char MYCTYPE_MAP[ 0x100 ] = {
        16,16,16,16,16,16,16,16, 16,17,17,17,17,17,16,16,
        16,16,16,16,16,16,16,16, 16,16,16,16,16,16,16,16,
         9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
        12,12,12,12,12,12,12,12, 12,12, 8, 8, 8, 8, 8, 8,
         8,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10,
        10,10,10,10,10,10,10,10, 10,10,10, 8, 8, 8, 8, 8,
         8,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10,
        10,10,10,10,10,10,10,10, 10,10,10, 8, 8, 8, 8,16,

         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    };

    ================> myctype.h <===============

    #ifndef _MYCTYPE_H
    #define _MYCTYPE_H

    #if 1
    #define MYCTYPE_SPACE 1
    #define MYCTYPE_ALPHA 2
    #define MYCTYPE_DIGIT 4
    #define MYCTYPE_PRINT 8
    #define MYCTYPE_CNTRL 16
    #define MYCTYPE_ALNUM (MYCTYPE_ALPHA|MYCTYPE_DIGIT)
    #define IS_SPACE(x) (MYCTYPE_MAP[(int)(unsigned char)(x)] & MYCTYPE_SPACE)
    #define IS_ALPHA(x) (MYCTYPE_MAP[(int)(unsigned char)(x)] & MYCTYPE_ALPHA)
    #define IS_DIGIT(x) (MYCTYPE_MAP[(int)(unsigned char)(x)] & MYCTYPE_DIGIT)
    #define IS_PRINT(x) (MYCTYPE_MAP[(int)(unsigned char)(x)] & MYCTYPE_PRINT)
    #define IS_CNTRL(x) (MYCTYPE_MAP[(int)(unsigned char)(x)] & MYCTYPE_CNTRL)
    #define IS_ALNUM(x) (MYCTYPE_MAP[(int)(unsigned char)(x)] & MYCTYPE_ALNUM)

    extern char MYCTYPE_MAP[];

    #else
    #include <ctype.h>

    #define IS_SPACE(x) (!(x&~127) && isspace(x))
    #define IS_ALNUM(x) (!(x&~127) && isalnum(x))
    #define IS_ALPHA(x) (!(x&~127) && isalpha(x))
    #define IS_DIGIT(x) (!(x&~127) && isdigit(x))
    #define IS_PRINT(x) (!(x&~127) && isprint(x))
    #define IS_CNTRL(x) (!(x&~127) && iscntrl(x))
    #endif

    #endif



    This archive was generated by hypermail 2b29 : Fri Dec 01 2000 - 09:51:54 CST