CMGDK r49-rc2
|
00001 / * C o p y r i g h t ( C ) 2 0 0 3 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 # i f n d e f _ _ B A S E 6 4 _ H _ I N C L U D E D _ _ 00024 00025 # d e f i n e _ _ B A S E 6 4 _ H _ I N C L U D E D _ _ 00026 00027 # i f d e f _ _ c p l u s p l u s 00028 00029 e x t e r n " C " { 00030 00031 # e n d i f 00032 00033 / * 00034 00035 C a l c u l a t e h o w m u c h m e m o r y n e e d e d f o r d s t o f b a s e 6 4 _ e n c o d e ( ) 00036 00037 * / 00038 00039 i n t m y _ b a s e 6 4 _ n e e d e d _ e n c o d e d _ l e n g t h ( i n t l e n g t h _ o f _ d a t a ) ; 00040 00041 / * 00042 00043 C a l c u l a t e h o w m u c h m e m o r y n e e d e d f o r d s t o f b a s e 6 4 _ d e c o d e ( ) 00044 00045 * / 00046 00047 i n t m y _ b a s e 6 4 _ n e e d e d _ d e c o d e d _ l e n g t h ( i n t l e n g t h _ o f _ e n c o d e d _ d a t a ) ; 00048 00049 00050 00051 / * 00052 00053 E n c o d e d a t a a s a b a s e 6 4 s t r i n g 00054 00055 * / 00056 00057 i n t m y _ b a s e 6 4 _ e n c o d e ( c o n s t v o i d * s r c , s i z e _ t s r c _ l e n , c h a r * d s t ) ; 00058 00059 / * 00060 00061 D e c o d e a b a s e 6 4 s t r i n g i n t o d a t a 00062 00063 * / 00064 00065 i n t m y _ b a s e 6 4 _ d e c o d e ( c o n s t c h a r * s r c , s i z e _ t s r c _ l e n , 00066 00067 v o i d * d s t , c o n s t c h a r * * e n d _ p t r ) ; 00068 00069 00070 00071 # i f d e f _ _ c p l u s p l u s 00072 00073 } 00074 00075 # e n d i f 00076 00077 # e n d i f / * ! _ _ B A S E 6 4 _ H _ I N C L U D E D _ _ * / 00078 00079