Artifact 801f887518c9b771e90b2e78b825e5ab58b67186:
0000: 2f 2f 2d 2d 2d 20 4b 2e 49 2e 4c 49 42 20 2d 2d //--- K.I.LIB --
0010: 2d 0d 0a 2f 2f 20 6b 6c 5f 73 74 72 2e 68 20 3a -..// kl_str.h :
0020: 20 73 74 72 69 6e 67 20 63 6c 61 73 73 65 73 20 string classes
0030: 66 6f 72 20 4b 2e 49 2e 4c 49 42 0d 0a 0d 0a 23 for K.I.LIB....#
0040: 69 66 6e 64 65 66 20 41 46 58 5f 4b 49 53 54 52 ifndef AFX_KISTR
0050: 5f 48 5f 5f 31 39 33 32 43 41 32 43 5f 41 43 41 _H__1932CA2C_ACA
0060: 36 5f 34 36 30 36 5f 42 35 37 41 5f 41 43 44 30 6_4606_B57A_ACD0
0070: 42 37 44 31 44 33 35 42 5f 5f 49 4e 43 4c 55 44 B7D1D35B__INCLUD
0080: 45 44 5f 0d 0a 23 64 65 66 69 6e 65 20 41 46 58 ED_..#define AFX
0090: 5f 4b 49 53 54 52 5f 48 5f 5f 31 39 33 32 43 41 _KISTR_H__1932CA
00a0: 32 43 5f 41 43 41 36 5f 34 36 30 36 5f 42 35 37 2C_ACA6_4606_B57
00b0: 41 5f 41 43 44 30 42 37 44 31 44 33 35 42 5f 5f A_ACD0B7D1D35B__
00c0: 49 4e 43 4c 55 44 45 44 5f 0d 0a 0d 0a 2f 2a 3d INCLUDED_..../*=
00d0: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
00e0: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
00f0: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
0100: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
0110: 2a 3d 2a 3d 2a 2f 0d 0a 2f 2f 20 6b 69 53 74 72 *=*=*/..// kiStr
0120: 20 3a 20 92 50 8f 83 95 b6 8e 9a 97 f1 0d 0a 0d : .P...........
0130: 0a 63 6c 61 73 73 20 6b 69 53 74 72 0d 0a 7b 0d .class kiStr..{.
0140: 0a 66 72 69 65 6e 64 20 76 6f 69 64 20 6b 69 6c .friend void kil
0150: 69 62 5f 73 74 61 72 74 55 70 28 29 3b 0d 0a 0d ib_startUp();...
0160: 0a 70 72 69 76 61 74 65 3a 20 2f 2f 2d 2d 20 83 .private: //-- .
0170: 4f 83 8d 81 5b 83 6f 83 8b 82 c8 8f 89 8a fa 89 O...[.o.........
0180: bb 8f 88 97 9d 82 c8 82 c7 20 2d 2d 2d 2d 2d 2d ......... ------
0190: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
01a0: 0a 0d 0a 09 73 74 61 74 69 63 20 76 6f 69 64 20 ....static void
01b0: 69 6e 69 74 28 29 3b 0d 0a 0d 0a 70 75 62 6c 69 init();....publi
01c0: 63 3a 20 2f 2f 2d 2d 20 8a 4f 8c fc 82 ab 83 43 c: //-- .O.....C
01d0: 83 93 83 5e 81 5b 83 74 83 46 83 43 83 58 20 2d ...^.[.t.F.C.X -
01e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
01f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 09 2f 2f ---------.....//
0200: 20 32 62 79 74 65 95 b6 8e 9a 82 cc 8f 88 97 9d 2byte..........
0210: 82 f0 8d 82 91 ac 89 bb 28 82 b5 82 bd 82 e6 82 ........(.......
0220: a4 82 c8 8b 43 95 aa 29 0d 0a 09 73 74 61 74 69 ....C..)...stati
0230: 63 20 63 68 61 72 2a 20 6e 65 78 74 28 20 63 68 c char* next( ch
0240: 61 72 2a 20 70 20 29 0d 0a 09 09 7b 20 72 65 74 ar* p )....{ ret
0250: 75 72 6e 20 70 2b 73 74 5f 6c 62 5b 28 2a 70 29 urn p+st_lb[(*p)
0260: 26 30 78 66 66 5d 3b 20 7d 0d 0a 09 73 74 61 74 &0xff]; }...stat
0270: 69 63 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 6e ic const char* n
0280: 65 78 74 28 20 63 6f 6e 73 74 20 63 68 61 72 2a ext( const char*
0290: 20 70 20 29 0d 0a 09 09 7b 20 72 65 74 75 72 6e p )....{ return
02a0: 20 70 2b 73 74 5f 6c 62 5b 28 2a 70 29 26 30 78 p+st_lb[(*p)&0x
02b0: 66 66 5d 3b 20 7d 0d 0a 09 73 74 61 74 69 63 20 ff]; }...static
02c0: 62 6f 6f 6c 20 69 73 4c 65 61 64 42 79 74 65 28 bool isLeadByte(
02d0: 20 63 68 61 72 20 63 20 29 0d 0a 09 09 7b 20 72 char c )....{ r
02e0: 65 74 75 72 6e 20 73 74 5f 6c 62 5b 63 26 30 78 eturn st_lb[c&0x
02f0: 66 66 5d 3d 3d 32 3b 20 7d 0d 0a 0d 0a 09 2f 2f ff]==2; }.....//
0300: 20 8f 89 8a fa 89 bb 0d 0a 09 6b 69 53 74 72 28 .........kiStr(
0310: 20 69 6e 74 20 73 74 61 72 74 5f 73 69 7a 65 20 int start_size
0320: 3d 20 31 30 30 20 29 3b 0d 0a 09 6b 69 53 74 72 = 100 );...kiStr
0330: 28 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 73 2c ( const char* s,
0340: 20 69 6e 74 20 6d 69 6e 5f 73 69 7a 65 20 3d 20 int min_size =
0350: 31 30 30 20 29 3b 0d 0a 09 65 78 70 6c 69 63 69 100 );...explici
0360: 74 20 6b 69 53 74 72 28 20 63 6f 6e 73 74 20 6b t kiStr( const k
0370: 69 53 74 72 26 20 73 20 29 3b 0d 0a 0d 0a 09 2f iStr& s );...../
0380: 2f 20 89 89 8e 5a 8e 71 0d 0a 09 6b 69 53 74 72 / ...Z.q...kiStr
0390: 26 20 6f 70 65 72 61 74 6f 72 20 3d 20 28 20 63 & operator = ( c
03a0: 6f 6e 73 74 20 6b 69 53 74 72 26 20 29 3b 0d 0a onst kiStr& );..
03b0: 09 6b 69 53 74 72 26 20 6f 70 65 72 61 74 6f 72 .kiStr& operator
03c0: 20 3d 20 28 20 63 6f 6e 73 74 20 63 68 61 72 2a = ( const char*
03d0: 20 73 20 29 3b 0d 0a 09 6b 69 53 74 72 26 20 6f s );...kiStr& o
03e0: 70 65 72 61 74 6f 72 20 2b 3d 20 28 20 63 6f 6e perator += ( con
03f0: 73 74 20 63 68 61 72 2a 20 73 20 29 3b 0d 0a 09 st char* s );...
0400: 6b 69 53 74 72 26 20 6f 70 65 72 61 74 6f 72 20 kiStr& operator
0410: 2b 3d 20 28 20 63 68 61 72 20 63 20 29 3b 0d 0a += ( char c );..
0420: 09 62 6f 6f 6c 20 6f 70 65 72 61 74 6f 72 20 3d .bool operator =
0430: 3d 20 28 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 = ( const char*
0440: 73 20 29 20 63 6f 6e 73 74 3b 0d 0a 09 62 6f 6f s ) const;...boo
0450: 6c 20 69 73 53 61 6d 65 28 20 63 6f 6e 73 74 20 l isSame( const
0460: 63 68 61 72 2a 20 73 20 29 20 20 20 20 20 20 20 char* s )
0470: 63 6f 6e 73 74 3b 0d 0a 09 6f 70 65 72 61 74 6f const;...operato
0480: 72 20 63 6f 6e 73 74 20 63 68 61 72 2a 28 29 20 r const char*()
0490: 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 cons
04a0: 74 3b 0d 0a 09 69 6e 74 20 6c 65 6e 28 29 20 20 t;...int len()
04b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
04c0: 20 20 20 20 20 20 20 20 63 6f 6e 73 74 3b 0d 0a const;..
04d0: 09 63 68 61 72 20 6f 70 65 72 61 74 6f 72 5b 5d .char operator[]
04e0: 28 20 69 6e 74 20 69 20 29 20 63 6f 6e 73 74 0d ( int i ) const.
04f0: 0a 09 09 7b 20 72 65 74 75 72 6e 20 6d 5f 70 42 ...{ return m_pB
0500: 75 66 5b 69 5d 3b 20 7d 0d 0a 09 76 6f 69 64 20 uf[i]; }...void
0510: 6c 6f 77 65 72 28 29 0d 0a 09 09 7b 20 3a 3a 43 lower()....{ ::C
0520: 68 61 72 4c 6f 77 65 72 28 6d 5f 70 42 75 66 29 harLower(m_pBuf)
0530: 3b 20 7d 0d 0a 09 76 6f 69 64 20 75 70 70 65 72 ; }...void upper
0540: 28 29 0d 0a 09 09 7b 20 3a 3a 43 68 61 72 55 70 ()....{ ::CharUp
0550: 70 65 72 28 6d 5f 70 42 75 66 29 3b 20 7d 0d 0a per(m_pBuf); }..
0560: 09 6b 69 53 74 72 26 20 73 65 74 49 6e 74 28 20 .kiStr& setInt(
0570: 69 6e 74 20 6e 2c 20 62 6f 6f 6c 20 63 6d 3d 66 int n, bool cm=f
0580: 61 6c 73 65 20 29 3b 0d 0a 0d 0a 09 2f 2f 20 83 alse );.....// .
0590: 8a 83 5c 81 5b 83 58 82 a9 82 e7 83 8d 81 5b 83 ..\.[.X.......[.
05a0: 68 0d 0a 09 6b 69 53 74 72 26 20 6c 6f 61 64 52 h...kiStr& loadR
05b0: 73 72 63 28 20 55 49 4e 54 20 69 64 20 29 3b 0d src( UINT id );.
05c0: 0a 0d 0a 70 72 6f 74 65 63 74 65 64 3a 20 2f 2f ...protected: //
05d0: 2d 2d 20 94 68 90 b6 83 4e 83 89 83 58 8c fc 82 -- .h...N...X...
05e0: af 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d . --------------
05f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
0600: 0a 0d 0a 09 63 68 61 72 2a 20 6d 5f 70 42 75 66 ....char* m_pBuf
0610: 3b 0d 0a 09 69 6e 74 20 20 20 6d 5f 41 4c 65 6e ;...int m_ALen
0620: 3b 0d 0a 0d 0a 70 72 69 76 61 74 65 3a 20 2f 2f ;....private: //
0630: 2d 2d 20 93 e0 95 94 8f 88 97 9d 20 2d 2d 2d 2d -- ........ ----
0640: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0650: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0660: 2d 0d 0a 0d 0a 09 73 74 61 74 69 63 20 63 68 61 -.....static cha
0670: 72 20 73 74 5f 6c 62 5b 32 35 36 5d 3b 0d 0a 0d r st_lb[256];...
0680: 0a 70 75 62 6c 69 63 3a 0d 0a 0d 0a 09 76 69 72 .public:.....vir
0690: 74 75 61 6c 20 7e 6b 69 53 74 72 28 29 3b 0d 0a tual ~kiStr();..
06a0: 7d 3b 0d 0a 0d 0a 2f 2a 3d 2a 3d 2a 3d 2a 3d 2a };..../*=*=*=*=*
06b0: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
06c0: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
06d0: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
06e0: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 2f 0d =*=*=*=*=*=*=*/.
06f0: 0a 2f 2f 20 6b 69 50 61 74 68 20 3a 20 83 70 83 .// kiPath : .p.
0700: 58 93 c1 97 4c 82 cc 8f 88 97 9d 97 70 8a d6 90 X...L.......p...
0710: 94 95 74 82 ab 95 b6 8e 9a 97 f1 0d 0a 0d 0a 63 ..t............c
0720: 6c 61 73 73 20 6b 69 50 61 74 68 20 3a 20 70 75 lass kiPath : pu
0730: 62 6c 69 63 20 6b 69 53 74 72 0d 0a 7b 0d 0a 70 blic kiStr..{..p
0740: 75 62 6c 69 63 3a 20 2f 2f 2d 2d 20 8a 4f 8c fc ublic: //-- .O..
0750: 82 ab 83 43 83 93 83 5e 81 5b 83 74 83 46 83 43 ...C...^.[.t.F.C
0760: 83 58 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .X -------------
0770: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d -------------...
0780: 0a 09 2f 2f 20 8f 89 8a fa 89 bb 0d 0a 09 6b 69 ..// .........ki
0790: 50 61 74 68 28 29 20 3a 20 6b 69 53 74 72 28 20 Path() : kiStr(
07a0: 4d 41 58 5f 50 41 54 48 20 29 7b 7d 0d 0a 09 65 MAX_PATH ){}...e
07b0: 78 70 6c 69 63 69 74 20 6b 69 50 61 74 68 28 20 xplicit kiPath(
07c0: 63 6f 6e 73 74 20 63 68 61 72 2a 20 73 20 29 20 const char* s )
07d0: 3a 20 6b 69 53 74 72 28 20 73 2c 20 4d 41 58 5f : kiStr( s, MAX_
07e0: 50 41 54 48 20 29 7b 7d 0d 0a 09 65 78 70 6c 69 PATH ){}...expli
07f0: 63 69 74 20 6b 69 50 61 74 68 28 20 63 6f 6e 73 cit kiPath( cons
0800: 74 20 6b 69 53 74 72 26 20 73 20 29 20 3a 20 6b t kiStr& s ) : k
0810: 69 53 74 72 28 20 73 2c 20 4d 41 58 5f 50 41 54 iStr( s, MAX_PAT
0820: 48 20 29 7b 7d 0d 0a 09 65 78 70 6c 69 63 69 74 H ){}...explicit
0830: 20 6b 69 50 61 74 68 28 20 63 6f 6e 73 74 20 6b kiPath( const k
0840: 69 50 61 74 68 26 20 73 20 29 20 3a 20 6b 69 53 iPath& s ) : kiS
0850: 74 72 28 20 73 2c 20 4d 41 58 5f 50 41 54 48 20 tr( s, MAX_PATH
0860: 29 7b 7d 0d 0a 09 6b 69 50 61 74 68 28 20 69 6e ){}...kiPath( in
0870: 74 20 6e 50 41 54 48 2c 20 62 6f 6f 6c 20 62 73 t nPATH, bool bs
0880: 20 3d 20 74 72 75 65 20 29 20 3a 20 6b 69 53 74 = true ) : kiSt
0890: 72 28 20 4d 41 58 5f 50 41 54 48 20 29 0d 0a 09 r( MAX_PATH )...
08a0: 09 7b 0d 0a 09 09 09 62 65 53 70 65 63 69 61 6c .{.....beSpecial
08b0: 50 61 74 68 28 20 6e 50 41 54 48 20 29 3b 0d 0a Path( nPATH );..
08c0: 09 09 09 69 66 28 20 6e 50 41 54 48 20 21 3d 20 ...if( nPATH !=
08d0: 45 78 65 5f 6e 61 6d 65 20 29 0d 0a 09 09 09 09 Exe_name )......
08e0: 62 65 42 61 63 6b 53 6c 61 73 68 28 20 62 73 20 beBackSlash( bs
08f0: 29 3b 0d 0a 09 09 7d 0d 0a 0d 0a 09 2f 2f 20 6f );....}.....// o
0900: 70 65 72 61 74 6f 72 0d 0a 09 76 6f 69 64 20 6f perator...void o
0910: 70 65 72 61 74 6f 72 20 3d 20 28 20 63 6f 6e 73 perator = ( cons
0920: 74 20 63 68 61 72 2a 20 73 20 29 7b 20 6b 69 53 t char* s ){ kiS
0930: 74 72 3a 3a 6f 70 65 72 61 74 6f 72 20 3d 28 73 tr::operator =(s
0940: 29 3b 20 7d 0d 0a 0d 0a 09 2f 2f 20 93 c1 8e ea ); }.....// ....
0950: 83 70 83 58 8e e6 93 be 0d 0a 09 76 6f 69 64 20 .p.X.......void
0960: 62 65 53 70 65 63 69 61 6c 50 61 74 68 28 20 69 beSpecialPath( i
0970: 6e 74 20 6e 50 41 54 48 20 29 3b 0d 0a 09 65 6e nt nPATH );...en
0980: 75 6d 20 7b 20 57 69 6e 3d 30 78 31 37 38 37 2c um { Win=0x1787,
0990: 20 53 79 73 2c 20 54 6d 70 2c 20 50 72 67 2c 20 Sys, Tmp, Prg,
09a0: 45 78 65 2c 20 43 75 72 2c 20 45 78 65 5f 6e 61 Exe, Cur, Exe_na
09b0: 6d 65 2c 0d 0a 09 09 09 53 6e 64 3d 43 53 49 44 me,.....Snd=CSID
09c0: 4c 5f 53 45 4e 44 54 4f 2c 20 44 73 6b 3d 43 53 L_SENDTO, Dsk=CS
09d0: 49 44 4c 5f 44 45 53 4b 54 4f 50 2c 20 44 6f 63 IDL_DESKTOP, Doc
09e0: 3d 43 53 49 44 4c 5f 50 45 52 53 4f 4e 41 4c 20 =CSIDL_PERSONAL
09f0: 7d 3b 0d 0a 0d 0a 09 2f 2f 20 92 5a 82 a2 83 70 };.....// .Z...p
0a00: 83 58 0d 0a 09 76 6f 69 64 20 62 65 53 68 6f 72 .X...void beShor
0a10: 74 50 61 74 68 28 29 3b 0d 0a 0d 0a 09 2f 2f 20 tPath();.....//
0a20: 8d c5 8c e3 82 cc 83 6f 83 62 83 4e 83 58 83 89 .......o.b.N.X..
0a30: 83 62 83 56 83 85 90 a7 8c e4 0d 0a 09 76 6f 69 .b.V.........voi
0a40: 64 20 62 65 42 61 63 6b 53 6c 61 73 68 28 20 62 d beBackSlash( b
0a50: 6f 6f 6c 20 61 64 64 20 29 3b 0d 0a 0d 0a 09 2f ool add );...../
0a60: 2f 20 83 66 83 42 83 8c 83 4e 83 67 83 8a 96 bc / .f.B...N.g....
0a70: 82 cc 82 dd 0d 0a 09 62 6f 6f 6c 20 62 65 44 69 .......bool beDi
0a80: 72 4f 6e 6c 79 28 29 3b 0d 0a 09 2f 2f 20 83 74 rOnly();...// .t
0a90: 83 40 83 43 83 8b 96 bc 65 78 63 65 70 74 8a 67 .@.C....except.g
0aa0: 92 a3 8e 71 82 cc 82 dd 0d 0a 09 76 6f 69 64 20 ...q.......void
0ab0: 67 65 74 42 6f 64 79 28 20 6b 69 53 74 72 26 20 getBody( kiStr&
0ac0: 73 74 72 20 29 20 63 6f 6e 73 74 3b 0d 0a 0d 0a str ) const;....
0ad0: 09 2f 2f 20 95 a1 90 94 8a 4b 91 77 6d 6b 64 69 .// .....K.wmkdi
0ae0: 72 0d 0a 09 76 6f 69 64 20 6d 6b 64 69 72 28 29 r...void mkdir()
0af0: 3b 0d 0a 09 2f 2f 20 95 a1 90 94 8a 4b 91 77 72 ;...// .....K.wr
0b00: 6d 64 69 72 0d 0a 09 76 6f 69 64 20 72 65 6d 6f mdir...void remo
0b10: 76 65 28 29 3b 0d 0a 0d 0a 09 2f 2f 20 83 68 83 ve();.....// .h.
0b20: 89 83 43 83 75 83 5e 83 43 83 76 0d 0a 09 55 49 ..C.u.^.C.v...UI
0b30: 4e 54 20 67 65 74 44 72 69 76 65 54 79 70 65 28 NT getDriveType(
0b40: 29 20 63 6f 6e 73 74 3b 0d 0a 0d 0a 09 2f 2f 20 ) const;.....//
0b50: 5b 73 74 61 74 69 63 5d 20 83 66 83 42 83 8c 83 [static] .f.B...
0b60: 4e 83 67 83 8a 8f ee 95 f1 82 f0 8a dc 82 dc 82 N.g.............
0b70: c8 82 a2 81 41 83 74 83 40 83 43 83 8b 96 bc 82 ....A.t.@.C.....
0b80: cc 82 dd 92 8a 8f 6f 0d 0a 09 73 74 61 74 69 63 ......o...static
0b90: 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 6e 61 6d const char* nam
0ba0: 65 28 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 73 e( const char* s
0bb0: 74 72 20 29 3b 0d 0a 09 2f 2f 20 5b 73 74 61 74 tr );...// [stat
0bc0: 69 63 5d 20 8d c5 8c e3 82 cc 8a 67 92 a3 8e 71 ic] .......g...q
0bd0: 81 42 96 b3 82 af 82 ea 82 ce 4e 55 4c 4c 0d 0a .B........NULL..
0be0: 09 73 74 61 74 69 63 20 63 6f 6e 73 74 20 63 68 .static const ch
0bf0: 61 72 2a 20 65 78 74 28 20 63 6f 6e 73 74 20 63 ar* ext( const c
0c00: 68 61 72 2a 20 73 74 72 20 29 3b 0d 0a 09 2f 2f har* str );...//
0c10: 20 5b 73 74 61 74 69 63 5d 20 8a 67 92 a3 8e 71 [static] .g...q
0c20: 91 53 95 94 81 42 96 b3 82 af 82 ea 82 ce 4e 55 .S...B........NU
0c30: 4c 4c 0d 0a 09 73 74 61 74 69 63 20 63 6f 6e 73 LL...static cons
0c40: 74 20 63 68 61 72 2a 20 65 78 74 5f 61 6c 6c 28 t char* ext_all(
0c50: 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 73 74 72 const char* str
0c60: 20 29 3b 0d 0a 09 2f 2f 20 5b 73 74 61 74 69 63 );...// [static
0c70: 5d 20 62 6f 64 79 95 94 95 aa 92 8a 8f 6f 81 42 ] body.......o.B
0c80: 0d 0a 09 73 74 61 74 69 63 20 76 6f 69 64 20 62 ...static void b
0c90: 6f 64 79 28 20 63 6f 6e 73 74 20 63 68 61 72 2a ody( const char*
0ca0: 20 73 74 72 2c 20 63 68 61 72 2a 20 62 75 66 20 str, char* buf
0cb0: 29 3b 0d 0a 09 2f 2f 20 5b 73 74 61 74 69 63 5d );...// [static]
0cc0: 20 5c 20 2f 20 82 c5 8f 49 82 ed 82 e9 82 a9 94 \ / ...I.......
0cd0: db 82 a9 0d 0a 09 73 74 61 74 69 63 20 62 6f 6f ......static boo
0ce0: 6c 20 65 6e 64 77 69 74 68 79 65 6e 28 20 63 6f l endwithyen( co
0cf0: 6e 73 74 20 63 68 61 72 2a 20 73 74 72 20 29 3b nst char* str );
0d00: 0d 0a 0d 0a 09 2f 2f 20 6e 6f 6e 2d 73 74 61 74 .....// non-stat
0d10: 69 63 2d 76 65 72 0d 0a 09 63 6f 6e 73 74 20 63 ic-ver...const c
0d20: 68 61 72 2a 20 6e 61 6d 65 28 29 20 63 6f 6e 73 har* name() cons
0d30: 74 0d 0a 09 09 7b 20 72 65 74 75 72 6e 20 6e 61 t....{ return na
0d40: 6d 65 28 6d 5f 70 42 75 66 29 3b 20 7d 0d 0a 09 me(m_pBuf); }...
0d50: 63 6f 6e 73 74 20 63 68 61 72 2a 20 65 78 74 28 const char* ext(
0d60: 29 20 63 6f 6e 73 74 0d 0a 09 09 7b 20 72 65 74 ) const....{ ret
0d70: 75 72 6e 20 65 78 74 28 6d 5f 70 42 75 66 29 3b urn ext(m_pBuf);
0d80: 20 7d 0d 0a 09 63 6f 6e 73 74 20 63 68 61 72 2a }...const char*
0d90: 20 65 78 74 5f 61 6c 6c 28 29 20 63 6f 6e 73 74 ext_all() const
0da0: 0d 0a 09 09 7b 20 72 65 74 75 72 6e 20 65 78 74 ....{ return ext
0db0: 5f 61 6c 6c 28 6d 5f 70 42 75 66 29 3b 20 7d 0d _all(m_pBuf); }.
0dc0: 0a 7d 3b 0d 0a 0d 0a 23 65 6e 64 69 66 0d 0a .};....#endif..