CMGDK r49-rc2
K:/CMGDKv18/SDK/Source/SQL/MySQL/include/m_ctype.h
浏览该文件的文档。
00001 / *   C o p y r i g h t   ( C )   2 0 0 0   M y S Q L   A B 
00002  
00003        T h i s   p r o g r a m   i s   f r e e   s o f t w a r e ;   y o u   c a n   r e d i s t r i b u t e   i t   a n d / o r   m o d i f y 
00004  
00005        i t   u n d e r   t h e   t e r m s   o f   t h e   G N U   G e n e r a l   P u b l i c   L i c e n s e   a s   p u b l i s h e d   b y 
00006  
00007        t h e   F r e e   S o f t w a r e   F o u n d a t i o n ;   v e r s i o n   2   o f   t h e   L i c e n s e . 
00008  
00009        T h i s   p r o g r a m   i s   d i s t r i b u t e d   i n   t h e   h o p e   t h a t   i t   w i l l   b e   u s e f u l , 
00010  
00011        b u t   W I T H O U T   A N Y   W A R R A N T Y ;   w i t h o u t   e v e n   t h e   i m p l i e d   w a r r a n t y   o f 
00012  
00013        M E R C H A N T A B I L I T Y   o r   F I T N E S S   F O R   A   P A R T I C U L A R   P U R P O S E .     S e e   t h e 
00014  
00015        G N U   G e n e r a l   P u b l i c   L i c e n s e   f o r   m o r e   d e t a i l s . 
00016  
00017        Y o u   s h o u l d   h a v e   r e c e i v e d   a   c o p y   o f   t h e   G N U   G e n e r a l   P u b l i c   L i c e n s e 
00018  
00019        a l o n g   w i t h   t h i s   p r o g r a m ;   i f   n o t ,   w r i t e   t o   t h e   F r e e   S o f t w a r e 
00020  
00021        F o u n d a t i o n ,   I n c . ,   5 9   T e m p l e   P l a c e ,   S u i t e   3 3 0 ,   B o s t o n ,   M A     0 2 1 1 1 - 1 3 0 7     U S A   * / 
00022  
00023  / * 
00024  
00025      A   b e t t e r   i n p l e m e n t a t i o n   o f   t h e   U N I X   c t y p e ( 3 )   l i b r a r y . 
00026  
00027      N o t e s :       m y _ g l o b a l . h   s h o u l d   b e   i n c l u d e d   b e f o r e   c t y p e . h 
00028  
00029  * / 
00030  
00031  # i f n d e f   _ m _ c t y p e _ h 
00032  
00033  # d e f i n e   _ m _ c t y p e _ h 
00034  
00035  # i n c l u d e   < m y _ a t t r i b u t e . h > 
00036  
00037  # i f d e f     _ _ c p l u s p l u s 
00038  
00039  e x t e r n   " C "   { 
00040  
00041  # e n d i f 
00042  
00043  # d e f i n e   M Y _ C S _ N A M E _ S I Z E           3 2 
00044  
00045  # d e f i n e   M Y _ C S _ C T Y P E _ T A B L E _ S I Z E         2 5 7 
00046  
00047  # d e f i n e   M Y _ C S _ T O _ L O W E R _ T A B L E _ S I Z E   2 5 6 
00048  
00049  # d e f i n e   M Y _ C S _ T O _ U P P E R _ T A B L E _ S I Z E   2 5 6 
00050  
00051  # d e f i n e   M Y _ C S _ S O R T _ O R D E R _ T A B L E _ S I Z E   2 5 6 
00052  
00053  # d e f i n e   M Y _ C S _ T O _ U N I _ T A B L E _ S I Z E       2 5 6 
00054  
00055  # d e f i n e   C H A R S E T _ D I R   " c h a r s e t s / " 
00056  
00057  # d e f i n e   m y _ w c _ t   u l o n g 
00058  
00059  t y p e d e f   s t r u c t   u n i c a s e _ i n f o _ s t 
00060  
00061  { 
00062  
00063      u i n t 1 6   t o u p p e r ; 
00064  
00065      u i n t 1 6   t o l o w e r ; 
00066  
00067      u i n t 1 6   s o r t ; 
00068  
00069  }   M Y _ U N I C A S E _ I N F O ; 
00070  
00071  
00072  
00073  e x t e r n   M Y _ U N I C A S E _ I N F O   * m y _ u n i c a s e _ d e f a u l t [ 2 5 6 ] ; 
00074  
00075  e x t e r n   M Y _ U N I C A S E _ I N F O   * m y _ u n i c a s e _ t u r k i s h [ 2 5 6 ] ; 
00076  
00077  t y p e d e f   s t r u c t   u n i _ c t y p e _ s t 
00078  
00079  { 
00080  
00081      u c h a r     p c t y p e ; 
00082  
00083      u c h a r     * c t y p e ; 
00084  
00085  }   M Y _ U N I _ C T Y P E ; 
00086  
00087  e x t e r n   M Y _ U N I _ C T Y P E   m y _ u n i _ c t y p e [ 2 5 6 ] ; 
00088  
00089  / *   w m _ w c   a n d   w c _ m b   r e t u r n   c o d e s   * / 
00090  
00091  # d e f i n e   M Y _ C S _ I L S E Q   0           / *   W r o n g   b y   s e q u e n c e :   w b _ w c                                       * / 
00092  
00093  # d e f i n e   M Y _ C S _ I L U N I   0           / *   C a n n o t   e n c o d e   U n i c o d e   t o   c h a r s e t :   w c _ m b         * / 
00094  
00095  # d e f i n e   M Y _ C S _ T O O S M A L L     - 1 0 1     / *   N e e d   a t   l e a s t   o n e   b y t e :         w c _ m b   a n d   m b _ w c   * / 
00096  
00097  # d e f i n e   M Y _ C S _ T O O S M A L L 2   - 1 0 2     / *   N e e d   a t   l e a s t   t w o   b y t e s :       w c _ m b   a n d   m b _ w c   * / 
00098  
00099  # d e f i n e   M Y _ C S _ T O O S M A L L 3   - 1 0 3     / *   N e e d   a t   l e a s t   t h r e e   b y t e s :   w c _ m b   a n d   m b _ w c   * / 
00100  
00101  / *   T h e s e   f o l l o w i n g   t h r e e   a r e   c u r r e n t l y   n o t   r e a l l y   u s e d   * / 
00102  
00103  # d e f i n e   M Y _ C S _ T O O S M A L L 4   - 1 0 4     / *   N e e d   a t   l e a s t   4   b y t e s :   w c _ m b   a n d   m b _ w c   * / 
00104  
00105  # d e f i n e   M Y _ C S _ T O O S M A L L 5   - 1 0 5     / *   N e e d   a t   l e a s t   5   b y t e s :   w c _ m b   a n d   m b _ w c   * / 
00106  
00107  # d e f i n e   M Y _ C S _ T O O S M A L L 6   - 1 0 6     / *   N e e d   a t   l e a s t   6   b y t e s :   w c _ m b   a n d   m b _ w c   * / 
00108  
00109  / *   A   h e l p e r   m a c r o s   f o r   " n e e d   a t   l e a s t   n   b y t e s "   * / 
00110  
00111  # d e f i n e   M Y _ C S _ T O O S M A L L N ( n )         ( - 1 0 0 - ( n ) ) 
00112  
00113  # d e f i n e   M Y _ S E Q _ I N T T A I L     1 
00114  
00115  # d e f i n e   M Y _ S E Q _ S P A C E S   2 
00116  
00117                  / *   M y   c h a r s e t s _ l i s t   f l a g s   * / 
00118  
00119  # d e f i n e   M Y _ C S _ C O M P I L E D     1             / *   c o m p i l e d - i n   s e t s                               * / 
00120  
00121  # d e f i n e   M Y _ C S _ C O N F I G         2             / *   s e t s   t h a t   h a v e   a   * . c o n f   f i l e       * / 
00122  
00123  # d e f i n e   M Y _ C S _ I N D E X           4             / *   s e t s   l i s t e d   i n   t h e   I n d e x   f i l e     * / 
00124  
00125  # d e f i n e   M Y _ C S _ L O A D E D         8             / *   s e t s   t h a t   a r e   c u r r e n t l y   l o a d e d   * / 
00126  
00127  # d e f i n e   M Y _ C S _ B I N S O R T   1 6           / *   i f   b i n a r y   s o r t   o r d e r                       * / 
00128  
00129  # d e f i n e   M Y _ C S _ P R I M A R Y   3 2           / *   i f   p r i m a r y   c o l l a t i o n                       * / 
00130  
00131  # d e f i n e   M Y _ C S _ S T R N X F R M     6 4           / *   i f   s t r n x f r m   i s   u s e d   f o r   s o r t       * / 
00132  
00133  # d e f i n e   M Y _ C S _ U N I C O D E   1 2 8         / *   i s   a   c h a r s e t   i s   f u l l   u n i c o d e       * / 
00134  
00135  # d e f i n e   M Y _ C S _ R E A D Y   2 5 6         / *   i f   a   c h a r s e t   i s   i n i t i a l i z e d         * / 
00136  
00137  # d e f i n e   M Y _ C S _ A V A I L A B L E   5 1 2         / *   I f   e i t h e r   c o m p i l e d - i n   o r   l o a d e d * / 
00138  
00139  # d e f i n e   M Y _ C S _ C S S O R T     1 0 2 4       / *   i f   c a s e   s e n s i t i v e   s o r t   o r d e r       * /   
00140  
00141  # d e f i n e   M Y _ C S _ H I D D E N     2 0 4 8       / *   d o n ' t   d i s p l a y   i n   S H O W                     * /   
00142  
00143  # d e f i n e   M Y _ C S _ P U R E A S C I I   4 0 9 6       / *   i f   a   c h a r s e t   i s   p u r e   a s c i i           * / 
00144  
00145  # d e f i n e   M Y _ C S _ N O N A S C I I     8 1 9 2       / *   i f   n o t   A S C I I - c o m p a t i b l e                 * / 
00146  
00147  # d e f i n e   M Y _ C H A R S E T _ U N D E F I N E D   0 
00148  
00149  / *   C h a r a c t e r   r e p e r t o i r e   f l a g s   * / 
00150  
00151  # d e f i n e   M Y _ R E P E R T O I R E _ A S C I I             1   / *   P u r e   A S C I I                         U + 0 0 0 0 . . U + 0 0 7 F   * / 
00152  
00153  # d e f i n e   M Y _ R E P E R T O I R E _ E X T E N D E D       2   / *   E x t e n d e d   c h a r a c t e r s :     U + 0 0 8 0 . . U + F F F F   * / 
00154  
00155  # d e f i n e   M Y _ R E P E R T O I R E _ U N I C O D E 3 0     3   / *   A S C I I   |   E X T E N D E D :           U + 0 0 0 0 . . U + F F F F   * / 
00156  
00157  / *   F l a g s   f o r   s t r x f r m   * / 
00158  
00159  # d e f i n e   M Y _ S T R X F R M _ L E V E L 1                     0 x 0 0 0 0 0 0 0 1   / *   f o r   p r i m a r y   w e i g h t s       * / 
00160  
00161  # d e f i n e   M Y _ S T R X F R M _ L E V E L 2                     0 x 0 0 0 0 0 0 0 2   / *   f o r   s e c o n d a r y   w e i g h t s   * / 
00162  
00163  # d e f i n e   M Y _ S T R X F R M _ L E V E L 3                     0 x 0 0 0 0 0 0 0 4   / *   f o r   t e r t i a r y   w e i g h t s     * / 
00164  
00165  # d e f i n e   M Y _ S T R X F R M _ L E V E L 4                     0 x 0 0 0 0 0 0 0 8   / *   f o u r t h   l e v e l   w e i g h t s     * / 
00166  
00167  # d e f i n e   M Y _ S T R X F R M _ L E V E L 5                     0 x 0 0 0 0 0 0 1 0   / *   f i f t h   l e v e l   w e i g h t s       * / 
00168  
00169  # d e f i n e   M Y _ S T R X F R M _ L E V E L 6                     0 x 0 0 0 0 0 0 2 0   / *   s i x t h   l e v e l   w e i g h t s       * / 
00170  
00171  # d e f i n e   M Y _ S T R X F R M _ L E V E L _ A L L               0 x 0 0 0 0 0 0 3 F   / *   B i t   O R   f o r   t h e   a b o v e   s i x   * / 
00172  
00173  # d e f i n e   M Y _ S T R X F R M _ N L E V E L S                   6                     / *   N u m b e r   o f   p o s s i b l e   l e v e l s * / 
00174  
00175  # d e f i n e   M Y _ S T R X F R M _ P A D _ W I T H _ S P A C E     0 x 0 0 0 0 0 0 4 0   / *   i f   p a d   r e s u l t   w i t h   s p a c e s   * / 
00176  
00177  # d e f i n e   M Y _ S T R X F R M _ P A D _ T O _ M A X L E N       0 x 0 0 0 0 0 0 8 0   / *   i f   p a d   t a i l ( f o r   f i l e s o r t )   * / 
00178  
00179  # d e f i n e   M Y _ S T R X F R M _ D E S C _ L E V E L 1           0 x 0 0 0 0 0 1 0 0   / *   i f   d e s c   o r d e r   f o r   l e v e l 1   * / 
00180  
00181  # d e f i n e   M Y _ S T R X F R M _ D E S C _ L E V E L 2           0 x 0 0 0 0 0 2 0 0   / *   i f   d e s c   o r d e r   f o r   l e v e l 2   * / 
00182  
00183  # d e f i n e   M Y _ S T R X F R M _ D E S C _ L E V E L 3           0 x 0 0 0 0 0 3 0 0   / *   i f   d e s c   o r d e r   f o r   l e v e l 3   * / 
00184  
00185  # d e f i n e   M Y _ S T R X F R M _ D E S C _ L E V E L 4           0 x 0 0 0 0 0 8 0 0   / *   i f   d e s c   o r d e r   f o r   l e v e l 4   * / 
00186  
00187  # d e f i n e   M Y _ S T R X F R M _ D E S C _ L E V E L 5           0 x 0 0 0 0 1 0 0 0   / *   i f   d e s c   o r d e r   f o r   l e v e l 5   * / 
00188  
00189  # d e f i n e   M Y _ S T R X F R M _ D E S C _ L E V E L 6           0 x 0 0 0 0 2 0 0 0   / *   i f   d e s c   o r d e r   f o r   l e v e l 6   * / 
00190  
00191  # d e f i n e   M Y _ S T R X F R M _ D E S C _ S H I F T             8 
00192  
00193  # d e f i n e   M Y _ S T R X F R M _ U N U S E D _ 0 0 0 0 4 0 0 0   0 x 0 0 0 0 4 0 0 0   / *   f o r   f u t u r e   e x t e n s i o n s           * / 
00194  
00195  # d e f i n e   M Y _ S T R X F R M _ U N U S E D _ 0 0 0 0 8 0 0 0   0 x 0 0 0 0 8 0 0 0   / *   f o r   f u t u r e   e x t e n s i o n s           * / 
00196  
00197  # d e f i n e   M Y _ S T R X F R M _ R E V E R S E _ L E V E L 1     0 x 0 0 0 1 0 0 0 0   / *   i f   r e v e r s e   o r d e r   f o r   l e v e l 1   * / 
00198  
00199  # d e f i n e   M Y _ S T R X F R M _ R E V E R S E _ L E V E L 2     0 x 0 0 0 2 0 0 0 0   / *   i f   r e v e r s e   o r d e r   f o r   l e v e l 2   * / 
00200  
00201  # d e f i n e   M Y _ S T R X F R M _ R E V E R S E _ L E V E L 3     0 x 0 0 0 4 0 0 0 0   / *   i f   r e v e r s e   o r d e r   f o r   l e v e l 3   * / 
00202  
00203  # d e f i n e   M Y _ S T R X F R M _ R E V E R S E _ L E V E L 4     0 x 0 0 0 8 0 0 0 0   / *   i f   r e v e r s e   o r d e r   f o r   l e v e l 4   * / 
00204  
00205  # d e f i n e   M Y _ S T R X F R M _ R E V E R S E _ L E V E L 5     0 x 0 0 1 0 0 0 0 0   / *   i f   r e v e r s e   o r d e r   f o r   l e v e l 5   * / 
00206  
00207  # d e f i n e   M Y _ S T R X F R M _ R E V E R S E _ L E V E L 6     0 x 0 0 2 0 0 0 0 0   / *   i f   r e v e r s e   o r d e r   f o r   l e v e l 6   * / 
00208  
00209  # d e f i n e   M Y _ S T R X F R M _ R E V E R S E _ S H I F T       1 6 
00210  
00211  
00212  
00213  t y p e d e f   s t r u c t   m y _ u n i _ i d x _ s t 
00214  
00215  { 
00216  
00217      u i n t 1 6   f r o m ; 
00218  
00219      u i n t 1 6   t o ; 
00220  
00221      u c h a r     * t a b ; 
00222  
00223  }   M Y _ U N I _ I D X ; 
00224  
00225  t y p e d e f   s t r u c t 
00226  
00227  { 
00228  
00229      u i n t   b e g ; 
00230  
00231      u i n t   e n d ; 
00232  
00233      u i n t   m b _ l e n ; 
00234  
00235  }   m y _ m a t c h _ t ; 
00236  
00237  e n u m   m y _ l e x _ s t a t e s 
00238  
00239  { 
00240  
00241      M Y _ L E X _ S T A R T ,   M Y _ L E X _ C H A R ,   M Y _ L E X _ I D E N T ,   
00242  
00243      M Y _ L E X _ I D E N T _ S E P ,   M Y _ L E X _ I D E N T _ S T A R T , 
00244  
00245      M Y _ L E X _ R E A L ,   M Y _ L E X _ H E X _ N U M B E R ,   M Y _ L E X _ B I N _ N U M B E R , 
00246  
00247      M Y _ L E X _ C M P _ O P ,   M Y _ L E X _ L O N G _ C M P _ O P ,   M Y _ L E X _ S T R I N G ,   M Y _ L E X _ C O M M E N T ,   M Y _ L E X _ E N D , 
00248  
00249      M Y _ L E X _ O P E R A T O R _ O R _ I D E N T ,   M Y _ L E X _ N U M B E R _ I D E N T ,   M Y _ L E X _ I N T _ O R _ R E A L , 
00250  
00251      M Y _ L E X _ R E A L _ O R _ P O I N T ,   M Y _ L E X _ B O O L ,   M Y _ L E X _ E O L ,   M Y _ L E X _ E S C A P E ,   
00252  
00253      M Y _ L E X _ L O N G _ C O M M E N T ,   M Y _ L E X _ E N D _ L O N G _ C O M M E N T ,   M Y _ L E X _ S E M I C O L O N ,   
00254  
00255      M Y _ L E X _ S E T _ V A R ,   M Y _ L E X _ U S E R _ E N D ,   M Y _ L E X _ H O S T N A M E ,   M Y _ L E X _ S K I P ,   
00256  
00257      M Y _ L E X _ U S E R _ V A R I A B L E _ D E L I M I T E R ,   M Y _ L E X _ S Y S T E M _ V A R , 
00258  
00259      M Y _ L E X _ I D E N T _ O R _ K E Y W O R D , 
00260  
00261      M Y _ L E X _ I D E N T _ O R _ H E X ,   M Y _ L E X _ I D E N T _ O R _ B I N ,   M Y _ L E X _ I D E N T _ O R _ N C H A R , 
00262  
00263      M Y _ L E X _ S T R I N G _ O R _ D E L I M I T E R 
00264  
00265  } ; 
00266  
00267  s t r u c t   c h a r s e t _ i n f o _ s t ; 
00268  
00269  
00270  
00271  / *   S e e   s t r i n g s / C H A R S E T _ I N F O . t x t   f o r   i n f o r m a t i o n   a b o u t   t h i s   s t r u c t u r e     * / 
00272  
00273  t y p e d e f   s t r u c t   m y _ c o l l a t i o n _ h a n d l e r _ s t 
00274  
00275  { 
00276  
00277      m y _ b o o l   ( * i n i t ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   v o i d   * ( * a l l o c ) ( s i z e _ t ) ) ; 
00278  
00279      / *   C o l l a t i o n   r o u t i n e s   * / 
00280  
00281      i n t           ( * s t r n n c o l l ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * , 
00282  
00283                        c o n s t   u c h a r   * ,   s i z e _ t ,   c o n s t   u c h a r   * ,   s i z e _ t ,   m y _ b o o l ) ; 
00284  
00285      i n t           ( * s t r n n c o l l s p ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * , 
00286  
00287                                                    c o n s t   u c h a r   * ,   s i z e _ t ,   c o n s t   u c h a r   * ,   s i z e _ t , 
00288  
00289                                                    m y _ b o o l   d i f f _ i f _ o n l y _ e n d s p a c e _ d i f f e r e n c e ) ; 
00290  
00291      s i z e _ t     ( * s t r n x f r m ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * , 
00292  
00293                                              u c h a r   * d s t ,   s i z e _ t   d s t l e n ,   u i n t   n w e i g h t s , 
00294  
00295                                              c o n s t   u c h a r   * s r c ,   s i z e _ t   s r c l e n ,   u i n t   f l a g s ) ; 
00296  
00297      s i z e _ t         ( * s t r n x f r m l e n ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   s i z e _ t ) ; 
00298  
00299      m y _ b o o l   ( * l i k e _ r a n g e ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * , 
00300  
00301              c o n s t   c h a r   * s ,   s i z e _ t   s _ l e n g t h , 
00302  
00303              p c h a r   w _ p r e f i x ,   p c h a r   w _ o n e ,   p c h a r   w _ m a n y ,   
00304  
00305              s i z e _ t   r e s _ l e n g t h , 
00306  
00307              c h a r   * m i n _ s t r ,   c h a r   * m a x _ s t r , 
00308  
00309              s i z e _ t   * m i n _ l e n ,   s i z e _ t   * m a x _ l e n ) ; 
00310  
00311      i n t           ( * w i l d c m p ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * , 
00312  
00313                        c o n s t   c h a r   * s t r , c o n s t   c h a r   * s t r _ e n d , 
00314  
00315                                            c o n s t   c h a r   * w i l d s t r , c o n s t   c h a r   * w i l d e n d , 
00316  
00317                                            i n t   e s c a p e , i n t   w _ o n e ,   i n t   w _ m a n y ) ; 
00318  
00319      i n t     ( * s t r c a s e c m p ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c o n s t   c h a r   * ,   c o n s t   c h a r   * ) ; 
00320  
00321      
00322  
00323      u i n t   ( * i n s t r ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * , 
00324  
00325                                  c o n s t   c h a r   * b ,   s i z e _ t   b _ l e n g t h , 
00326  
00327                                  c o n s t   c h a r   * s ,   s i z e _ t   s _ l e n g t h , 
00328  
00329                                  m y _ m a t c h _ t   * m a t c h ,   u i n t   n m a t c h ) ; 
00330  
00331      
00332  
00333      / *   H a s h   c a l c u l a t i o n   * / 
00334  
00335      v o i d   ( * h a s h _ s o r t ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * c s ,   c o n s t   u c h a r   * k e y ,   s i z e _ t   l e n , 
00336  
00337                  u l o n g   * n r 1 ,   u l o n g   * n r 2 ) ;   
00338  
00339      m y _ b o o l   ( * p r o p a g a t e ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * c s ,   c o n s t   u c h a r   * s t r ,   s i z e _ t   l e n ) ; 
00340  
00341  }   M Y _ C O L L A T I O N _ H A N D L E R ; 
00342  
00343  e x t e r n   M Y _ C O L L A T I O N _ H A N D L E R   m y _ c o l l a t i o n _ m b _ b i n _ h a n d l e r ; 
00344  
00345  e x t e r n   M Y _ C O L L A T I O N _ H A N D L E R   m y _ c o l l a t i o n _ 8 b i t _ b i n _ h a n d l e r ; 
00346  
00347  e x t e r n   M Y _ C O L L A T I O N _ H A N D L E R   m y _ c o l l a t i o n _ 8 b i t _ s i m p l e _ c i _ h a n d l e r ; 
00348  
00349  e x t e r n   M Y _ C O L L A T I O N _ H A N D L E R   m y _ c o l l a t i o n _ u c s 2 _ u c a _ h a n d l e r ; 
00350  
00351  / *   S o m e   t y p e d e f   t o   m a k e   i t   e a s y   f o r   C + +   t o   m a k e   f u n c t i o n   p o i n t e r s   * / 
00352  
00353  t y p e d e f   i n t   ( * m y _ c h a r s e t _ c o n v _ m b _ w c ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   m y _ w c _ t   * , 
00354  
00355                                                                            c o n s t   u c h a r   * ,   c o n s t   u c h a r   * ) ; 
00356  
00357  t y p e d e f   i n t   ( * m y _ c h a r s e t _ c o n v _ w c _ m b ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   m y _ w c _ t , 
00358  
00359                                                                            u c h a r   * ,   u c h a r   * ) ; 
00360  
00361  t y p e d e f   s i z e _ t   ( * m y _ c h a r s e t _ c o n v _ c a s e ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * , 
00362  
00363                                                                                c h a r   * ,   s i z e _ t ,   c h a r   * ,   s i z e _ t ) ; 
00364  
00365  
00366  
00367  / *   S e e   s t r i n g s / C H A R S E T _ I N F O . t x t   a b o u t   i n f o r m a t i o n   o n   t h i s   s t r u c t u r e     * / 
00368  
00369  t y p e d e f   s t r u c t   m y _ c h a r s e t _ h a n d l e r _ s t 
00370  
00371  { 
00372  
00373      m y _ b o o l   ( * i n i t ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   v o i d   * ( * a l l o c ) ( s i z e _ t ) ) ; 
00374  
00375      / *   M u l t i b y t e   r o u t i n e s   * / 
00376  
00377      u i n t         ( * i s m b c h a r ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c o n s t   c h a r   * ,   c o n s t   c h a r   * ) ; 
00378  
00379      u i n t         ( * m b c h a r l e n ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   u i n t   c ) ; 
00380  
00381      s i z e _ t     ( * n u m c h a r s ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e ) ; 
00382  
00383      s i z e _ t     ( * c h a r p o s ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e , 
00384  
00385                                            s i z e _ t   p o s ) ; 
00386  
00387      s i z e _ t     ( * w e l l _ f o r m e d _ l e n ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * , 
00388  
00389                                                            c o n s t   c h a r   * b , c o n s t   c h a r   * e , 
00390  
00391                                                            s i z e _ t   n c h a r s ,   i n t   * e r r o r ) ; 
00392  
00393      s i z e _ t     ( * l e n g t h s p ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c o n s t   c h a r   * p t r ,   s i z e _ t   l e n g t h ) ; 
00394  
00395      s i z e _ t     ( * n u m c e l l s ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e ) ; 
00396  
00397      
00398  
00399      / *   U n i c o d e   c o n v e r s i o n   * / 
00400  
00401      m y _ c h a r s e t _ c o n v _ m b _ w c   m b _ w c ; 
00402  
00403      m y _ c h a r s e t _ c o n v _ w c _ m b   w c _ m b ; 
00404  
00405      / *   C T Y P E   s c a n n e r   * / 
00406  
00407      i n t   ( * c t y p e ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * c s ,   i n t   * c t y p e , 
00408  
00409                                c o n s t   u c h a r   * s ,   c o n s t   u c h a r   * e ) ; 
00410  
00411      
00412  
00413      / *   F u n c t i o n s   f o r   c a s e   a n d   s o r t   c o n v e r s i o n   * / 
00414  
00415      s i z e _ t     ( * c a s e u p _ s t r ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c h a r   * ) ; 
00416  
00417      s i z e _ t     ( * c a s e d n _ s t r ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c h a r   * ) ; 
00418  
00419      m y _ c h a r s e t _ c o n v _ c a s e   c a s e u p ; 
00420  
00421      m y _ c h a r s e t _ c o n v _ c a s e   c a s e d n ; 
00422  
00423      / *   C h a r s e t   d e p e n d a n t   s n p r i n t f ( )   * / 
00424  
00425      s i z e _ t   ( * s n p r i n t f ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c h a r   * t o ,   s i z e _ t   n , 
00426  
00427                                            c o n s t   c h a r   * f m t , 
00428  
00429                                            . . . )   A T T R I B U T E _ F O R M A T _ F P T R ( p r i n t f ,   4 ,   5 ) ; 
00430  
00431      s i z e _ t   ( * l o n g 1 0 _ t o _ s t r ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c h a r   * t o ,   s i z e _ t   n , 
00432  
00433                                                      i n t   r a d i x ,   l o n g   i n t   v a l ) ; 
00434  
00435      s i z e _ t   ( * l o n g l o n g 1 0 _ t o _ s t r ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c h a r   * t o ,   s i z e _ t   n , 
00436  
00437                                                              i n t   r a d i x ,   l o n g l o n g   v a l ) ; 
00438  
00439      
00440  
00441      v o i d   ( * f i l l ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c h a r   * t o ,   s i z e _ t   l e n ,   i n t   f i l l ) ; 
00442  
00443      
00444  
00445      / *   S t r i n g - t o - n u m b e r   c o n v e r s i o n   r o u t i n e s   * / 
00446  
00447      l o n g                 ( * s t r n t o l ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c o n s t   c h a r   * s ,   s i z e _ t   l , 
00448  
00449                i n t   b a s e ,   c h a r   * * e ,   i n t   * e r r ) ; 
00450  
00451      u l o n g             ( * s t r n t o u l ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c o n s t   c h a r   * s ,   s i z e _ t   l , 
00452  
00453                i n t   b a s e ,   c h a r   * * e ,   i n t   * e r r ) ; 
00454  
00455      l o n g l o n g       ( * s t r n t o l l ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c o n s t   c h a r   * s ,   s i z e _ t   l , 
00456  
00457                i n t   b a s e ,   c h a r   * * e ,   i n t   * e r r ) ; 
00458  
00459      u l o n g l o n g   ( * s t r n t o u l l ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c o n s t   c h a r   * s ,   s i z e _ t   l , 
00460  
00461                i n t   b a s e ,   c h a r   * * e ,   i n t   * e r r ) ; 
00462  
00463      d o u b l e             ( * s t r n t o d ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c h a r   * s ,   s i z e _ t   l ,   c h a r   * * e , 
00464  
00465                i n t   * e r r ) ; 
00466  
00467      l o n g l o n g         ( * s t r t o l l 1 0 ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * c s , 
00468  
00469                                                        c o n s t   c h a r   * n p t r ,   c h a r   * * e n d p t r ,   i n t   * e r r o r ) ; 
00470  
00471      u l o n g l o n g       ( * s t r n t o u l l 1 0 r n d ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * c s , 
00472  
00473                                                                  c o n s t   c h a r   * s t r ,   s i z e _ t   l e n g t h , 
00474  
00475                                                                  i n t   u n s i g n e d _ f l , 
00476  
00477                                                                  c h a r   * * e n d p t r ,   i n t   * e r r o r ) ; 
00478  
00479      s i z e _ t                 ( * s c a n ) ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e , 
00480  
00481                                                  i n t   s q ) ; 
00482  
00483  }   M Y _ C H A R S E T _ H A N D L E R ; 
00484  
00485  e x t e r n   M Y _ C H A R S E T _ H A N D L E R   m y _ c h a r s e t _ 8 b i t _ h a n d l e r ; 
00486  
00487  e x t e r n   M Y _ C H A R S E T _ H A N D L E R   m y _ c h a r s e t _ u c s 2 _ h a n d l e r ; 
00488  
00489  
00490  
00491  / *   S e e   s t r i n g s / C H A R S E T _ I N F O . t x t   a b o u t   i n f o r m a t i o n   o n   t h i s   s t r u c t u r e     * / 
00492  
00493  t y p e d e f   s t r u c t   c h a r s e t _ i n f o _ s t 
00494  
00495  { 
00496  
00497      u i n t             n u m b e r ; 
00498  
00499      u i n t             p r i m a r y _ n u m b e r ; 
00500  
00501      u i n t             b i n a r y _ n u m b e r ; 
00502  
00503      u i n t             s t a t e ; 
00504  
00505      c o n s t   c h a r   * c s n a m e ; 
00506  
00507      c o n s t   c h a r   * n a m e ; 
00508  
00509      c o n s t   c h a r   * c o m m e n t ; 
00510  
00511      c o n s t   c h a r   * t a i l o r i n g ; 
00512  
00513      u c h a r         * c t y p e ; 
00514  
00515      u c h a r         * t o _ l o w e r ; 
00516  
00517      u c h a r         * t o _ u p p e r ; 
00518  
00519      u c h a r         * s o r t _ o r d e r ; 
00520  
00521      u i n t 1 6       * c o n t r a c t i o n s ; 
00522  
00523      u i n t 1 6       * * s o r t _ o r d e r _ b i g ; 
00524  
00525      u i n t 1 6             * t a b _ t o _ u n i ; 
00526  
00527      M Y _ U N I _ I D X     * t a b _ f r o m _ u n i ; 
00528  
00529      M Y _ U N I C A S E _ I N F O   * * c a s e i n f o ; 
00530  
00531      u c h a r           * s t a t e _ m a p ; 
00532  
00533      u c h a r           * i d e n t _ m a p ; 
00534  
00535      u i n t             s t r x f r m _ m u l t i p l y ; 
00536  
00537      u c h a r           c a s e u p _ m u l t i p l y ; 
00538  
00539      u c h a r           c a s e d n _ m u l t i p l y ; 
00540  
00541      u i n t             m b m i n l e n ; 
00542  
00543      u i n t             m b m a x l e n ; 
00544  
00545      u i n t 1 6         m i n _ s o r t _ c h a r ; 
00546  
00547      u i n t 1 6         m a x _ s o r t _ c h a r ;   / *   F o r   L I K E   o p t i m i z a t i o n   * / 
00548  
00549      u c h a r           p a d _ c h a r ; 
00550  
00551      m y _ b o o l       e s c a p e _ w i t h _ b a c k s l a s h _ i s _ d a n g e r o u s ; 
00552  
00553      u c h a r           l e v e l s _ f o r _ c o m p a r e ; 
00554  
00555      u c h a r           l e v e l s _ f o r _ o r d e r ; 
00556  
00557      
00558  
00559      M Y _ C H A R S E T _ H A N D L E R   * c s e t ; 
00560  
00561      M Y _ C O L L A T I O N _ H A N D L E R   * c o l l ; 
00562  
00563      
00564  
00565  }   C H A R S E T _ I N F O ; 
00566  
00567  # d e f i n e   I L L E G A L _ C H A R S E T _ I N F O _ N U M B E R   ( ~ 0 U ) 
00568  
00569  
00570  
00571  e x t e r n   M Y S Q L _ P L U G I N _ I M P O R T   C H A R S E T _ I N F O   m y _ c h a r s e t _ b i n ; 
00572  
00573  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ b i g 5 _ c h i n e s e _ c i ; 
00574  
00575  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ b i g 5 _ b i n ; 
00576  
00577  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ c p 9 3 2 _ j a p a n e s e _ c i ; 
00578  
00579  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ c p 9 3 2 _ b i n ; 
00580  
00581  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ c p 1 2 5 0 _ c z e c h _ c i ; 
00582  
00583  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ e u c j p m s _ j a p a n e s e _ c i ; 
00584  
00585  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ e u c j p m s _ b i n ; 
00586  
00587  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ e u c k r _ k o r e a n _ c i ; 
00588  
00589  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ e u c k r _ b i n ; 
00590  
00591  e x t e r n   M Y S Q L _ P L U G I N _ I M P O R T   C H A R S E T _ I N F O   m y _ c h a r s e t _ f i l e n a m e ; 
00592  
00593  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ g b 2 3 1 2 _ c h i n e s e _ c i ; 
00594  
00595  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ g b 2 3 1 2 _ b i n ; 
00596  
00597  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ g b k _ c h i n e s e _ c i ; 
00598  
00599  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ g b k _ b i n ; 
00600  
00601  e x t e r n   M Y S Q L _ P L U G I N _ I M P O R T   C H A R S E T _ I N F O   m y _ c h a r s e t _ l a t i n 1 ; 
00602  
00603  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ l a t i n 1 _ g e r m a n 2 _ c i ; 
00604  
00605  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ l a t i n 1 _ b i n ; 
00606  
00607  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ l a t i n 2 _ c z e c h _ c i ; 
00608  
00609  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ s j i s _ j a p a n e s e _ c i ; 
00610  
00611  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ s j i s _ b i n ; 
00612  
00613  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ t i s 6 2 0 _ t h a i _ c i ; 
00614  
00615  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ t i s 6 2 0 _ b i n ; 
00616  
00617  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u c s 2 _ g e n e r a l _ c i ; 
00618  
00619  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u c s 2 _ b i n ; 
00620  
00621  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u c s 2 _ u n i c o d e _ c i ; 
00622  
00623  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u j i s _ j a p a n e s e _ c i ; 
00624  
00625  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u j i s _ b i n ; 
00626  
00627  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u t f 1 6 _ b i n ; 
00628  
00629  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u t f 1 6 _ g e n e r a l _ c i ; 
00630  
00631  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u t f 1 6 _ u n i c o d e _ c i ; 
00632  
00633  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u t f 3 2 _ b i n ; 
00634  
00635  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u t f 3 2 _ g e n e r a l _ c i ; 
00636  
00637  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u t f 3 2 _ u n i c o d e _ c i ; 
00638  
00639  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u t f 8 m b 3 _ b i n ; 
00640  
00641  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u t f 8 m b 3 _ g e n e r a l _ c i ; 
00642  
00643  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u t f 8 m b 3 _ u n i c o d e _ c i ; 
00644  
00645  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u t f 8 m b 4 _ b i n ; 
00646  
00647  e x t e r n   M Y S Q L _ P L U G I N _ I M P O R T   C H A R S E T _ I N F O   m y _ c h a r s e t _ u t f 8 m b 4 _ g e n e r a l _ c i ; 
00648  
00649  e x t e r n   C H A R S E T _ I N F O   m y _ c h a r s e t _ u t f 8 m b 4 _ u n i c o d e _ c i ; 
00650  
00651  # d e f i n e   M Y _ U T F 8 M B 3                                   " u t f 8 m b 3 " 
00652  
00653  # d e f i n e   M Y _ U T F 8 M B 4                                   " u t f 8 " 
00654  
00655  # d e f i n e   m y _ c h a r s e t _ u t f 8 _ g e n e r a l _ c i   m y _ c h a r s e t _ u t f 8 m b 4 _ g e n e r a l _ c i 
00656  
00657  # d e f i n e   m y _ c h a r s e t _ u t f 8 _ b i n                 m y _ c h a r s e t _ u t f 8 m b 4 _ b i n 
00658  
00659  
00660  
00661  / *   d e c l a r a t i o n s   f o r   s i m p l e   c h a r s e t s   * / 
00662  
00663  e x t e r n   s i z e _ t   m y _ s t r n x f r m _ s i m p l e ( C H A R S E T _ I N F O   * , 
00664  
00665                                                                    u c h a r   * d s t ,   s i z e _ t   d s t l e n ,   u i n t   n w e i g h t s , 
00666  
00667                                                                    c o n s t   u c h a r   * s r c ,   s i z e _ t   s r c l e n ,   u i n t   f l a g s ) ; 
00668  
00669  s i z e _ t   m y _ s t r n x f r m l e n _ s i m p l e ( C H A R S E T _ I N F O   * ,   s i z e _ t ) ; 
00670  
00671  e x t e r n   i n t     m y _ s t r n n c o l l _ s i m p l e ( C H A R S E T _ I N F O   * ,   c o n s t   u c h a r   * ,   s i z e _ t , 
00672  
00673                  c o n s t   u c h a r   * ,   s i z e _ t ,   m y _ b o o l ) ; 
00674  
00675  e x t e r n   i n t     m y _ s t r n n c o l l s p _ s i m p l e ( C H A R S E T _ I N F O   * ,   c o n s t   u c h a r   * ,   s i z e _ t , 
00676  
00677                                                                      c o n s t   u c h a r   * ,   s i z e _ t , 
00678  
00679                                                                      m y _ b o o l   d i f f _ i f _ o n l y _ e n d s p a c e _ d i f f e r e n c e ) ; 
00680  
00681  e x t e r n   v o i d   m y _ h a s h _ s o r t _ s i m p l e ( C H A R S E T _ I N F O   * c s , 
00682  
00683                  c o n s t   u c h a r   * k e y ,   s i z e _ t   l e n , 
00684  
00685                  u l o n g   * n r 1 ,   u l o n g   * n r 2 ) ;   
00686  
00687  e x t e r n   s i z e _ t   m y _ l e n g t h s p _ 8 b i t ( C H A R S E T _ I N F O   * c s ,   c o n s t   c h a r   * p t r ,   s i z e _ t   l e n g t h ) ; 
00688  
00689  e x t e r n   u i n t   m y _ i n s t r _ s i m p l e ( s t r u c t   c h a r s e t _ i n f o _ s t   * , 
00690  
00691                                                          c o n s t   c h a r   * b ,   s i z e _ t   b _ l e n g t h , 
00692  
00693                                                          c o n s t   c h a r   * s ,   s i z e _ t   s _ l e n g t h , 
00694  
00695                                                          m y _ m a t c h _ t   * m a t c h ,   u i n t   n m a t c h ) ; 
00696  
00697  
00698  
00699  / *   F u n c t i o n s   f o r   8 b i t   * / 
00700  
00701  e x t e r n   s i z e _ t   m y _ c a s e u p _ s t r _ 8 b i t ( C H A R S E T _ I N F O   * ,   c h a r   * ) ; 
00702  
00703  e x t e r n   s i z e _ t   m y _ c a s e d n _ s t r _ 8 b i t ( C H A R S E T _ I N F O   * ,   c h a r   * ) ; 
00704  
00705  e x t e r n   s i z e _ t   m y _ c a s e u p _ 8 b i t ( C H A R S E T _ I N F O   * ,   c h a r   * s r c ,   s i z e _ t   s r c l e n , 
00706  
00707                                                            c h a r   * d s t ,   s i z e _ t   d s t l e n ) ; 
00708  
00709  e x t e r n   s i z e _ t   m y _ c a s e d n _ 8 b i t ( C H A R S E T _ I N F O   * ,   c h a r   * s r c ,   s i z e _ t   s r c l e n , 
00710  
00711                                                            c h a r   * d s t ,   s i z e _ t   d s t l e n ) ; 
00712  
00713  e x t e r n   i n t   m y _ s t r c a s e c m p _ 8 b i t ( C H A R S E T _ I N F O   *   c s ,   c o n s t   c h a r   * ,   c o n s t   c h a r   * ) ; 
00714  
00715  i n t   m y _ m b _ w c _ 8 b i t ( C H A R S E T _ I N F O   * c s , m y _ w c _ t   * w c ,   c o n s t   u c h a r   * s , c o n s t   u c h a r   * e ) ; 
00716  
00717  i n t   m y _ w c _ m b _ 8 b i t ( C H A R S E T _ I N F O   * c s , m y _ w c _ t   w c ,   u c h a r   * s ,   u c h a r   * e ) ; 
00718  
00719  i n t   m y _ m b _ c t y p e _ 8 b i t ( C H A R S E T _ I N F O   * , i n t   * ,   c o n s t   u c h a r   * , c o n s t   u c h a r   * ) ; 
00720  
00721  i n t   m y _ m b _ c t y p e _ m b ( C H A R S E T _ I N F O   * , i n t   * ,   c o n s t   u c h a r   * , c o n s t   u c h a r   * ) ; 
00722  
00723  s i z e _ t   m y _ s c a n _ 8 b i t ( C H A R S E T _ I N F O   * c s ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e ,   i n t   s q ) ; 
00724  
00725  s i z e _ t   m y _ s n p r i n t f _ 8 b i t ( s t r u c t   c h a r s e t _ i n f o _ s t   * ,   c h a r   * t o ,   s i z e _ t   n , 
00726  
00727                                                  c o n s t   c h a r   * f m t ,   . . . ) 
00728  
00729      A T T R I B U T E _ F O R M A T ( p r i n t f ,   4 ,   5 ) ; 
00730  
00731  l o n g               m y _ s t r n t o l _ 8 b i t ( C H A R S E T _ I N F O   * ,   c o n s t   c h a r   * s ,   s i z e _ t   l ,   i n t   b a s e , 
00732  
00733                                                        c h a r   * * e ,   i n t   * e r r ) ; 
00734  
00735  u l o n g             m y _ s t r n t o u l _ 8 b i t ( C H A R S E T _ I N F O   * ,   c o n s t   c h a r   * s ,   s i z e _ t   l ,   i n t   b a s e , 
00736  
00737                      c h a r   * * e ,   i n t   * e r r ) ; 
00738  
00739  l o n g l o n g       m y _ s t r n t o l l _ 8 b i t ( C H A R S E T _ I N F O   * ,   c o n s t   c h a r   * s ,   s i z e _ t   l ,   i n t   b a s e , 
00740  
00741                      c h a r   * * e ,   i n t   * e r r ) ; 
00742  
00743  u l o n g l o n g   m y _ s t r n t o u l l _ 8 b i t ( C H A R S E T _ I N F O   * ,   c o n s t   c h a r   * s ,   s i z e _ t   l ,   i n t   b a s e , 
00744  
00745                      c h a r   * * e ,   i n t   * e r r ) ; 
00746  
00747  d o u b l e             m y _ s t r n t o d _ 8 b i t ( C H A R S E T _ I N F O   * ,   c h a r   * s ,   s i z e _ t   l , c h a r   * * e , 
00748  
00749                      i n t   * e r r ) ; 
00750  
00751  s i z e _ t   m y _ l o n g 1 0 _ t o _ s t r _ 8 b i t ( C H A R S E T _ I N F O   * ,   c h a r   * t o ,   s i z e _ t   l ,   i n t   r a d i x , 
00752  
00753                                                            l o n g   i n t   v a l ) ; 
00754  
00755  s i z e _ t   m y _ l o n g l o n g 1 0 _ t o _ s t r _ 8 b i t ( C H A R S E T _ I N F O   * ,   c h a r   * t o ,   s i z e _ t   l ,   i n t   r a d i x , 
00756  
00757                                                                    l o n g l o n g   v a l ) ; 
00758  
00759  l o n g l o n g   m y _ s t r t o l l 1 0 _ 8 b i t ( C H A R S E T _ I N F O   * c s , 
00760  
00761                                                        c o n s t   c h a r   * n p t r ,   c h a r   * * e n d p t r ,   i n t   * e r r o r ) ; 
00762  
00763  l o n g l o n g   m y _ s t r t o l l 1 0 _ u c s 2 ( C H A R S E T _ I N F O   * c s ,   
00764  
00765                                                        c o n s t   c h a r   * n p t r ,   c h a r   * * e n d p t r ,   i n t   * e r r o r ) ; 
00766  
00767  u l o n g l o n g   m y _ s t r n t o u l l 1 0 r n d _ 8 b i t ( C H A R S E T _ I N F O   * c s , 
00768  
00769                                                                    c o n s t   c h a r   * s t r ,   s i z e _ t   l e n g t h ,   i n t 
00770  
00771                                                                    u n s i g n e d _ f l ,   c h a r   * * e n d p t r ,   i n t   * e r r o r ) ; 
00772  
00773  u l o n g l o n g   m y _ s t r n t o u l l 1 0 r n d _ u c s 2 ( C H A R S E T _ I N F O   * c s ,   
00774  
00775                                                                    c o n s t   c h a r   * s t r ,   s i z e _ t   l e n g t h , 
00776  
00777                                                                    i n t   u n s i g n e d _ f l ,   c h a r   * * e n d p t r ,   i n t   * e r r o r ) ; 
00778  
00779  v o i d   m y _ f i l l _ 8 b i t ( C H A R S E T _ I N F O   * c s ,   c h a r *   t o ,   s i z e _ t   l ,   i n t   f i l l ) ; 
00780  
00781  m y _ b o o l     m y _ l i k e _ r a n g e _ s i m p l e ( C H A R S E T _ I N F O   * c s , 
00782  
00783                          c o n s t   c h a r   * p t r ,   s i z e _ t   p t r _ l e n g t h , 
00784  
00785                          p b o o l   e s c a p e ,   p b o o l   w _ o n e ,   p b o o l   w _ m a n y , 
00786  
00787                          s i z e _ t   r e s _ l e n g t h , 
00788  
00789                          c h a r   * m i n _ s t r ,   c h a r   * m a x _ s t r , 
00790  
00791                          s i z e _ t   * m i n _ l e n g t h ,   s i z e _ t   * m a x _ l e n g t h ) ; 
00792  
00793  m y _ b o o l     m y _ l i k e _ r a n g e _ m b ( C H A R S E T _ I N F O   * c s , 
00794  
00795                  c o n s t   c h a r   * p t r ,   s i z e _ t   p t r _ l e n g t h , 
00796  
00797                  p b o o l   e s c a p e ,   p b o o l   w _ o n e ,   p b o o l   w _ m a n y , 
00798  
00799                  s i z e _ t   r e s _ l e n g t h , 
00800  
00801                  c h a r   * m i n _ s t r ,   c h a r   * m a x _ s t r , 
00802  
00803                  s i z e _ t   * m i n _ l e n g t h ,   s i z e _ t   * m a x _ l e n g t h ) ; 
00804  
00805  m y _ b o o l     m y _ l i k e _ r a n g e _ u c s 2 ( C H A R S E T _ I N F O   * c s , 
00806  
00807                      c o n s t   c h a r   * p t r ,   s i z e _ t   p t r _ l e n g t h , 
00808  
00809                      p b o o l   e s c a p e ,   p b o o l   w _ o n e ,   p b o o l   w _ m a n y , 
00810  
00811                      s i z e _ t   r e s _ l e n g t h , 
00812  
00813                      c h a r   * m i n _ s t r ,   c h a r   * m a x _ s t r , 
00814  
00815                      s i z e _ t   * m i n _ l e n g t h ,   s i z e _ t   * m a x _ l e n g t h ) ; 
00816  
00817  m y _ b o o l     m y _ l i k e _ r a n g e _ u t f 1 6 ( C H A R S E T _ I N F O   * c s , 
00818  
00819                        c o n s t   c h a r   * p t r ,   s i z e _ t   p t r _ l e n g t h , 
00820  
00821                        p b o o l   e s c a p e ,   p b o o l   w _ o n e ,   p b o o l   w _ m a n y , 
00822  
00823                        s i z e _ t   r e s _ l e n g t h , 
00824  
00825                        c h a r   * m i n _ s t r ,   c h a r   * m a x _ s t r , 
00826  
00827                        s i z e _ t   * m i n _ l e n g t h ,   s i z e _ t   * m a x _ l e n g t h ) ; 
00828  
00829  m y _ b o o l     m y _ l i k e _ r a n g e _ u t f 3 2 ( C H A R S E T _ I N F O   * c s , 
00830  
00831                        c o n s t   c h a r   * p t r ,   s i z e _ t   p t r _ l e n g t h , 
00832  
00833                        p b o o l   e s c a p e ,   p b o o l   w _ o n e ,   p b o o l   w _ m a n y , 
00834  
00835                        s i z e _ t   r e s _ l e n g t h , 
00836  
00837                        c h a r   * m i n _ s t r ,   c h a r   * m a x _ s t r , 
00838  
00839                        s i z e _ t   * m i n _ l e n g t h ,   s i z e _ t   * m a x _ l e n g t h ) ; 
00840  
00841  
00842  
00843  i n t   m y _ w i l d c m p _ 8 b i t ( C H A R S E T _ I N F O   * , 
00844  
00845                  c o n s t   c h a r   * s t r , c o n s t   c h a r   * s t r _ e n d , 
00846  
00847                  c o n s t   c h a r   * w i l d s t r , c o n s t   c h a r   * w i l d e n d , 
00848  
00849                  i n t   e s c a p e ,   i n t   w _ o n e ,   i n t   w _ m a n y ) ; 
00850  
00851  i n t   m y _ w i l d c m p _ b i n ( C H A R S E T _ I N F O   * , 
00852  
00853                c o n s t   c h a r   * s t r , c o n s t   c h a r   * s t r _ e n d , 
00854  
00855                c o n s t   c h a r   * w i l d s t r , c o n s t   c h a r   * w i l d e n d , 
00856  
00857                i n t   e s c a p e ,   i n t   w _ o n e ,   i n t   w _ m a n y ) ; 
00858  
00859  s i z e _ t   m y _ n u m c h a r s _ 8 b i t ( C H A R S E T _ I N F O   * ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e ) ; 
00860  
00861  s i z e _ t   m y _ n u m c e l l s _ 8 b i t ( C H A R S E T _ I N F O   * ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e ) ; 
00862  
00863  s i z e _ t   m y _ c h a r p o s _ 8 b i t ( C H A R S E T _ I N F O   * ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e ,   s i z e _ t   p o s ) ; 
00864  
00865  s i z e _ t   m y _ w e l l _ f o r m e d _ l e n _ 8 b i t ( C H A R S E T _ I N F O   * ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e , 
00866  
00867                                                            s i z e _ t   p o s ,   i n t   * e r r o r ) ; 
00868  
00869  u i n t   m y _ m b c h a r l e n _ 8 b i t ( C H A R S E T _ I N F O   * ,   u i n t   c ) ; 
00870  
00871  
00872  
00873  / *   F u n c t i o n s   f o r   m u l t i b y t e   c h a r s e t s   * / 
00874  
00875  e x t e r n   s i z e _ t   m y _ c a s e u p _ s t r _ m b ( C H A R S E T _ I N F O   * ,   c h a r   * ) ; 
00876  
00877  e x t e r n   s i z e _ t   m y _ c a s e d n _ s t r _ m b ( C H A R S E T _ I N F O   * ,   c h a r   * ) ; 
00878  
00879  e x t e r n   s i z e _ t   m y _ c a s e u p _ m b ( C H A R S E T _ I N F O   * ,   c h a r   * s r c ,   s i z e _ t   s r c l e n , 
00880  
00881                                                                                    c h a r   * d s t ,   s i z e _ t   d s t l e n ) ; 
00882  
00883  e x t e r n   s i z e _ t   m y _ c a s e d n _ m b ( C H A R S E T _ I N F O   * ,   c h a r   * s r c ,   s i z e _ t   s r c l e n , 
00884  
00885                                                                                    c h a r   * d s t ,   s i z e _ t   d s t l e n ) ; 
00886  
00887  e x t e r n   i n t   m y _ s t r c a s e c m p _ m b ( C H A R S E T _ I N F O   *   c s , c o n s t   c h a r   * ,   c o n s t   c h a r   * ) ; 
00888  
00889  i n t   m y _ w i l d c m p _ m b ( C H A R S E T _ I N F O   * , 
00890  
00891              c o n s t   c h a r   * s t r , c o n s t   c h a r   * s t r _ e n d , 
00892  
00893              c o n s t   c h a r   * w i l d s t r , c o n s t   c h a r   * w i l d e n d , 
00894  
00895              i n t   e s c a p e ,   i n t   w _ o n e ,   i n t   w _ m a n y ) ; 
00896  
00897  s i z e _ t   m y _ n u m c h a r s _ m b ( C H A R S E T _ I N F O   * ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e ) ; 
00898  
00899  s i z e _ t   m y _ n u m c e l l s _ m b ( C H A R S E T _ I N F O   * ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e ) ; 
00900  
00901  s i z e _ t   m y _ c h a r p o s _ m b ( C H A R S E T _ I N F O   * ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e ,   s i z e _ t   p o s ) ; 
00902  
00903  s i z e _ t   m y _ w e l l _ f o r m e d _ l e n _ m b ( C H A R S E T _ I N F O   * ,   c o n s t   c h a r   * b ,   c o n s t   c h a r   * e , 
00904  
00905                                                            s i z e _ t   p o s ,   i n t   * e r r o r ) ; 
00906  
00907  u i n t   m y _ i n s t r _ m b ( s t r u c t   c h a r s e t _ i n f o _ s t   * , 
00908  
00909                                    c o n s t   c h a r   * b ,   s i z e _ t   b _ l e n g t h , 
00910  
00911                                    c o n s t   c h a r   * s ,   s i z e _ t   s _ l e n g t h , 
00912  
00913                                    m y _ m a t c h _ t   * m a t c h ,   u i n t   n m a t c h ) ; 
00914  
00915  i n t   m y _ s t r n n c o l l _ m b _ b i n ( C H A R S E T _ I N F O   *   c s , 
00916  
00917                                                  c o n s t   u c h a r   * s ,   s i z e _ t   s l e n , 
00918  
00919                                                  c o n s t   u c h a r   * t ,   s i z e _ t   t l e n , 
00920  
00921                                                  m y _ b o o l   t _ i s _ p r e f i x ) ; 
00922  
00923  i n t   m y _ s t r n n c o l l s p _ m b _ b i n ( C H A R S E T _ I N F O   * c s , 
00924  
00925                                                      c o n s t   u c h a r   * a ,   s i z e _ t   a _ l e n g t h , 
00926  
00927                                                      c o n s t   u c h a r   * b ,   s i z e _ t   b _ l e n g t h , 
00928  
00929                                                      m y _ b o o l   d i f f _ i f _ o n l y _ e n d s p a c e _ d i f f e r e n c e ) ; 
00930  
00931  i n t   m y _ w i l d c m p _ m b _ b i n ( C H A R S E T _ I N F O   * c s , 
00932  
00933                                              c o n s t   c h a r   * s t r , c o n s t   c h a r   * s t r _ e n d , 
00934  
00935                                              c o n s t   c h a r   * w i l d s t r , c o n s t   c h a r   * w i l d e n d , 
00936  
00937                                              i n t   e s c a p e ,   i n t   w _ o n e ,   i n t   w _ m a n y ) ; 
00938  
00939  i n t   m y _ s t r c a s e c m p _ m b _ b i n ( C H A R S E T _ I N F O   *   c s   _ _ a t t r i b u t e _ _ ( ( u n u s e d ) ) , 
00940  
00941                                                    c o n s t   c h a r   * s ,   c o n s t   c h a r   * t ) ; 
00942  
00943  v o i d   m y _ h a s h _ s o r t _ m b _ b i n ( C H A R S E T _ I N F O   * c s   _ _ a t t r i b u t e _ _ ( ( u n u s e d ) ) , 
00944  
00945                                                    c o n s t   u c h a r   * k e y ,   s i z e _ t   l e n , u l o n g   * n r 1 ,   u l o n g   * n r 2 ) ; 
00946  
00947  s i z e _ t   m y _ s t r n x f r m _ m b ( C H A R S E T _ I N F O   * , 
00948  
00949                                              u c h a r   * d s t ,   s i z e _ t   d s t l e n ,   u i n t   n w e i g h t s , 
00950  
00951                                              c o n s t   u c h a r   * s r c ,   s i z e _ t   s r c l e n ,   u i n t   f l a g s ) ; 
00952  
00953  s i z e _ t   m y _ s t r n x f r m _ u n i c o d e ( C H A R S E T _ I N F O   * , 
00954  
00955                                                        u c h a r   * d s t ,   s i z e _ t   d s t l e n ,   u i n t   n w e i g h t s , 
00956  
00957                                                        c o n s t   u c h a r   * s r c ,   s i z e _ t   s r c l e n ,   u i n t   f l a g s ) ; 
00958  
00959  i n t   m y _ w i l d c m p _ u n i c o d e ( C H A R S E T _ I N F O   * c s , 
00960  
00961                                                c o n s t   c h a r   * s t r ,   c o n s t   c h a r   * s t r _ e n d , 
00962  
00963                                                c o n s t   c h a r   * w i l d s t r ,   c o n s t   c h a r   * w i l d e n d , 
00964  
00965                                                i n t   e s c a p e ,   i n t   w _ o n e ,   i n t   w _ m a n y , 
00966  
00967                                                M Y _ U N I C A S E _ I N F O   * * w e i g h t s ) ; 
00968  
00969  e x t e r n   m y _ b o o l   m y _ p a r s e _ c h a r s e t _ x m l ( c o n s t   c h a r   * b u g ,   s i z e _ t   l e n , 
00970  
00971                          i n t   ( * a d d ) ( C H A R S E T _ I N F O   * c s ) ) ; 
00972  
00973  e x t e r n   c h a r   * m y _ s t r c h r ( C H A R S E T _ I N F O   * c s ,   c o n s t   c h a r   * s t r ,   c o n s t   c h a r   * e n d , 
00974  
00975                                                p c h a r   c ) ; 
00976  
00977  m y _ b o o l   m y _ p r o p a g a t e _ s i m p l e ( C H A R S E T _ I N F O   * c s ,   c o n s t   u c h a r   * s t r ,   s i z e _ t   l e n ) ; 
00978  
00979  m y _ b o o l   m y _ p r o p a g a t e _ c o m p l e x ( C H A R S E T _ I N F O   * c s ,   c o n s t   u c h a r   * s t r ,   s i z e _ t   l e n ) ; 
00980  
00981  
00982  
00983  u i n t   m y _ s t r i n g _ r e p e r t o i r e ( C H A R S E T _ I N F O   * c s ,   c o n s t   c h a r   * s t r ,   u l o n g   l e n ) ; 
00984  
00985  m y _ b o o l   m y _ c h a r s e t _ i s _ a s c i i _ b a s e d ( C H A R S E T _ I N F O   * c s ) ; 
00986  
00987  m y _ b o o l   m y _ c h a r s e t _ i s _ 8 b i t _ p u r e _ a s c i i ( C H A R S E T _ I N F O   * c s ) ; 
00988  
00989  u i n t   m y _ c h a r s e t _ r e p e r t o i r e ( C H A R S E T _ I N F O   * c s ) ; 
00990  
00991  
00992  
00993  u i n t   m y _ s t r x f r m _ f l a g _ n o r m a l i z e ( u i n t   f l a g s ,   u i n t   n l e v e l s ) ; 
00994  
00995  v o i d   m y _ s t r x f r m _ d e s c _ a n d _ r e v e r s e ( u c h a r   * s t r ,   u c h a r   * s t r e n d , 
00996  
00997                                                                    u i n t   f l a g s ,   u i n t   l e v e l ) ; 
00998  
00999  s i z e _ t   m y _ s t r x f r m _ p a d _ d e s c _ a n d _ r e v e r s e ( C H A R S E T _ I N F O   * c s , 
01000  
01001                                                                                u c h a r   * s t r ,   u c h a r   * f r m e n d ,   u c h a r   * s t r e n d , 
01002  
01003                                                                                u i n t   n w e i g h t s ,   u i n t   f l a g s ,   u i n t   l e v e l ) ; 
01004  
01005  m y _ b o o l   m y _ c h a r s e t _ i s _ a s c i i _ c o m p a t i b l e ( C H A R S E T _ I N F O   * c s ) ; 
01006  
01007  # d e f i n e   _ M Y _ U   0 1     / *   U p p e r   c a s e   * / 
01008  
01009  # d e f i n e   _ M Y _ L   0 2     / *   L o w e r   c a s e   * / 
01010  
01011  # d e f i n e   _ M Y _ N M R   0 4     / *   N u m e r a l   ( d i g i t )   * / 
01012  
01013  # d e f i n e   _ M Y _ S P C   0 1 0   / *   S p a c i n g   c h a r a c t e r   * / 
01014  
01015  # d e f i n e   _ M Y _ P N T   0 2 0   / *   P u n c t u a t i o n   * / 
01016  
01017  # d e f i n e   _ M Y _ C T R   0 4 0   / *   C o n t r o l   c h a r a c t e r   * / 
01018  
01019  # d e f i n e   _ M Y _ B   0 1 0 0     / *   B l a n k   * / 
01020  
01021  # d e f i n e   _ M Y _ X   0 2 0 0     / *   h e X a d e c i m a l   d i g i t   * / 
01022  
01023  
01024  
01025  # d e f i n e   m y _ i s a s c i i ( c )   ( ! ( ( c )   &   ~ 0 1 7 7 ) ) 
01026  
01027  # d e f i n e   m y _ t o a s c i i ( c )   ( ( c )   &   0 1 7 7 ) 
01028  
01029  # d e f i n e   m y _ t o c n t r l ( c )   ( ( c )   &   3 1 ) 
01030  
01031  # d e f i n e   m y _ t o p r i n t ( c )   ( ( c )   |   6 4 ) 
01032  
01033  # d e f i n e   m y _ t o u p p e r ( s , c )   ( c h a r )   ( ( s ) - > t o _ u p p e r [ ( u c h a r )   ( c ) ] ) 
01034  
01035  # d e f i n e   m y _ t o l o w e r ( s , c )   ( c h a r )   ( ( s ) - > t o _ l o w e r [ ( u c h a r )   ( c ) ] ) 
01036  
01037  # d e f i n e   m y _ i s a l p h a ( s ,   c )     ( ( ( s ) - > c t y p e + 1 ) [ ( u c h a r )   ( c ) ]   &   ( _ M Y _ U   |   _ M Y _ L ) ) 
01038  
01039  # d e f i n e   m y _ i s u p p e r ( s ,   c )     ( ( ( s ) - > c t y p e + 1 ) [ ( u c h a r )   ( c ) ]   &   _ M Y _ U ) 
01040  
01041  # d e f i n e   m y _ i s l o w e r ( s ,   c )     ( ( ( s ) - > c t y p e + 1 ) [ ( u c h a r )   ( c ) ]   &   _ M Y _ L ) 
01042  
01043  # d e f i n e   m y _ i s d i g i t ( s ,   c )     ( ( ( s ) - > c t y p e + 1 ) [ ( u c h a r )   ( c ) ]   &   _ M Y _ N M R ) 
01044  
01045  # d e f i n e   m y _ i s x d i g i t ( s ,   c )   ( ( ( s ) - > c t y p e + 1 ) [ ( u c h a r )   ( c ) ]   &   _ M Y _ X ) 
01046  
01047  # d e f i n e   m y _ i s a l n u m ( s ,   c )     ( ( ( s ) - > c t y p e + 1 ) [ ( u c h a r )   ( c ) ]   &   ( _ M Y _ U   |   _ M Y _ L   |   _ M Y _ N M R ) ) 
01048  
01049  # d e f i n e   m y _ i s s p a c e ( s ,   c )     ( ( ( s ) - > c t y p e + 1 ) [ ( u c h a r )   ( c ) ]   &   _ M Y _ S P C ) 
01050  
01051  # d e f i n e   m y _ i s p u n c t ( s ,   c )     ( ( ( s ) - > c t y p e + 1 ) [ ( u c h a r )   ( c ) ]   &   _ M Y _ P N T ) 
01052  
01053  # d e f i n e   m y _ i s p r i n t ( s ,   c )     ( ( ( s ) - > c t y p e + 1 ) [ ( u c h a r )   ( c ) ]   &   ( _ M Y _ P N T   |   _ M Y _ U   |   _ M Y _ L   |   _ M Y _ N M R   |   _ M Y _ B ) ) 
01054  
01055  # d e f i n e   m y _ i s g r a p h ( s ,   c )     ( ( ( s ) - > c t y p e + 1 ) [ ( u c h a r )   ( c ) ]   &   ( _ M Y _ P N T   |   _ M Y _ U   |   _ M Y _ L   |   _ M Y _ N M R ) ) 
01056  
01057  # d e f i n e   m y _ i s c n t r l ( s ,   c )     ( ( ( s ) - > c t y p e + 1 ) [ ( u c h a r )   ( c ) ]   &   _ M Y _ C T R ) 
01058  
01059  / *   S o m e   m a c r o s   t h a t   s h o u l d   b e   c l e a n e d   u p   a   l i t t l e   * / 
01060  
01061  # d e f i n e   m y _ i s v a r ( s , c )                                   ( m y _ i s a l n u m ( s , c )   | |   ( c )   = =   ' _ ' ) 
01062  
01063  # d e f i n e   m y _ i s v a r _ s t a r t ( s , c )                       ( m y _ i s a l p h a ( s , c )   | |   ( c )   = =   ' _ ' ) 
01064  
01065  # d e f i n e   m y _ b i n a r y _ c o m p a r e ( s )                 ( ( s ) - > s t a t e     &   M Y _ C S _ B I N S O R T ) 
01066  
01067  # d e f i n e   u s e _ s t r n x f r m ( s )                               ( ( s ) - > s t a t e     &   M Y _ C S _ S T R N X F R M ) 
01068  
01069  # d e f i n e   m y _ s t r n x f r m ( c s ,   d ,   d l ,   s ,   s l )   \ 
01070  
01071        ( ( c s ) - > c o l l - > s t r n x f r m ( ( c s ) ,   ( d ) ,   ( d l ) ,   ( d l ) ,   ( s ) ,   ( s l ) ,   M Y _ S T R X F R M _ P A D _ W I T H _ S P A C E ) ) 
01072  
01073  # d e f i n e   m y _ s t r n n c o l l ( s ,   a ,   b ,   c ,   d )   ( ( s ) - > c o l l - > s t r n n c o l l ( ( s ) ,   ( a ) ,   ( b ) ,   ( c ) ,   ( d ) ,   0 ) ) 
01074  
01075  # d e f i n e   m y _ l i k e _ r a n g e ( s ,   a ,   b ,   c ,   d ,   e ,   f ,   g ,   h ,   i ,   j )   \ 
01076  
01077        ( ( s ) - > c o l l - > l i k e _ r a n g e ( ( s ) ,   ( a ) ,   ( b ) ,   ( c ) ,   ( d ) ,   ( e ) ,   ( f ) ,   ( g ) ,   ( h ) ,   ( i ) ,   ( j ) ) ) 
01078  
01079  # d e f i n e   m y _ w i l d c m p ( c s , s , s e , w , w e , e , o , m )   ( ( c s ) - > c o l l - > w i l d c m p ( ( c s ) , ( s ) , ( s e ) , ( w ) , ( w e ) , ( e ) , ( o ) , ( m ) ) ) 
01080  
01081  # d e f i n e   m y _ s t r c a s e c m p ( s ,   a ,   b )                 ( ( s ) - > c o l l - > s t r c a s e c m p ( ( s ) ,   ( a ) ,   ( b ) ) ) 
01082  
01083  # d e f i n e   m y _ c h a r p o s ( c s ,   b ,   e ,   n u m )           ( c s ) - > c s e t - > c h a r p o s ( ( c s ) ,   ( c o n s t   c h a r * )   ( b ) ,   ( c o n s t   c h a r   * ) ( e ) ,   ( n u m ) ) 
01084  
01085  
01086  
01087  # d e f i n e   u s e _ m b ( s )                                           ( ( s ) - > c s e t - > i s m b c h a r   ! =   N U L L ) 
01088  
01089  # d e f i n e   m y _ i s m b c h a r ( s ,   a ,   b )                     ( ( s ) - > c s e t - > i s m b c h a r ( ( s ) ,   ( a ) ,   ( b ) ) ) 
01090  
01091  # i f d e f   U S E _ M B 
01092  
01093  # d e f i n e   m y _ m b c h a r l e n ( s ,   a )                         ( ( s ) - > c s e t - > m b c h a r l e n ( ( s ) , ( a ) ) ) 
01094  
01095  # e l s e 
01096  
01097  # d e f i n e   m y _ m b c h a r l e n ( s ,   a )                         1 
01098  
01099  # e n d i f 
01100  
01101  # d e f i n e   m y _ c a s e u p _ s t r ( s ,   a )                       ( ( s ) - > c s e t - > c a s e u p _ s t r ( ( s ) ,   ( a ) ) ) 
01102  
01103  # d e f i n e   m y _ c a s e d n _ s t r ( s ,   a )                       ( ( s ) - > c s e t - > c a s e d n _ s t r ( ( s ) ,   ( a ) ) ) 
01104  
01105  # d e f i n e   m y _ s t r n t o l ( s ,   a ,   b ,   c ,   d ,   e )     ( ( s ) - > c s e t - > s t r n t o l ( ( s ) , ( a ) , ( b ) , ( c ) , ( d ) , ( e ) ) ) 
01106  
01107  # d e f i n e   m y _ s t r n t o u l ( s ,   a ,   b ,   c ,   d ,   e )   ( ( s ) - > c s e t - > s t r n t o u l ( ( s ) , ( a ) , ( b ) , ( c ) , ( d ) , ( e ) ) ) 
01108  
01109  # d e f i n e   m y _ s t r n t o l l ( s ,   a ,   b ,   c ,   d ,   e )   ( ( s ) - > c s e t - > s t r n t o l l ( ( s ) , ( a ) , ( b ) , ( c ) , ( d ) , ( e ) ) ) 
01110  
01111  # d e f i n e   m y _ s t r n t o u l l ( s ,   a ,   b ,   c , d ,   e )   ( ( s ) - > c s e t - > s t r n t o u l l ( ( s ) , ( a ) , ( b ) , ( c ) , ( d ) , ( e ) ) ) 
01112  
01113  # d e f i n e   m y _ s t r n t o d ( s ,   a ,   b ,   c ,   d )           ( ( s ) - > c s e t - > s t r n t o d ( ( s ) , ( a ) , ( b ) , ( c ) , ( d ) ) ) 
01114  
01115  
01116  
01117  / *   X X X :   s t i l l   n e e d   t o   t a k e   c a r e   o f   t h i s   o n e   * / 
01118  
01119  # i f d e f   M Y _ C H A R S E T _ T I S 6 2 0 
01120  
01121  # e r r o r   T h e   T I S 6 2 0   c h a r s e t   i s   b r o k e n   a t   t h e   m o m e n t .     T e l l   t i m   t o   f i x   i t . 
01122  
01123  # d e f i n e   U S E _ T I S 6 2 0 
01124  
01125  # i n c l u d e   " t _ c t y p e . h " 
01126  
01127  # e n d i f 
01128  
01129  # i f d e f     _ _ c p l u s p l u s 
01130  
01131  } 
01132  
01133  # e n d i f 
01134  
01135  # e n d i f   / *   _ m _ c t y p e _ h   * / 
01136  
01137  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义