Artifact db7b4a9cec9be918c149ed5885b08ebf86cfb9e0:
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 76 6f 69 64 20 6c 6f 77 65 72 28 29 0d 0a 09 .void lower()...
04e0: 09 7b 20 3a 3a 43 68 61 72 4c 6f 77 65 72 28 6d .{ ::CharLower(m
04f0: 5f 70 42 75 66 29 3b 20 7d 0d 0a 09 76 6f 69 64 _pBuf); }...void
0500: 20 75 70 70 65 72 28 29 0d 0a 09 09 7b 20 3a 3a upper()....{ ::
0510: 43 68 61 72 55 70 70 65 72 28 6d 5f 70 42 75 66 CharUpper(m_pBuf
0520: 29 3b 20 7d 0d 0a 09 6b 69 53 74 72 26 20 73 65 ); }...kiStr& se
0530: 74 49 6e 74 28 20 69 6e 74 20 6e 2c 20 62 6f 6f tInt( int n, boo
0540: 6c 20 63 6d 3d 66 61 6c 73 65 20 29 3b 0d 0a 09 l cm=false );...
0550: 76 6f 69 64 20 72 65 70 6c 61 63 65 54 6f 53 6c void replaceToSl
0560: 61 73 68 28 29 20 7b 0d 0a 09 09 66 6f 72 28 63 ash() {....for(c
0570: 68 61 72 2a 20 70 3d 6d 5f 70 42 75 66 3b 20 2a har* p=m_pBuf; *
0580: 70 3b 20 70 3d 6e 65 78 74 28 70 29 29 0d 0a 09 p; p=next(p))...
0590: 09 09 69 66 28 2a 70 3d 3d 27 5c 5c 27 29 0d 0a ..if(*p=='\\')..
05a0: 09 09 09 09 2a 70 3d 27 2f 27 3b 0d 0a 09 7d 0d ....*p='/';...}.
05b0: 0a 0d 0a 09 2f 2f 20 83 8a 83 5c 81 5b 83 58 82 ....// ...\.[.X.
05c0: a9 82 e7 83 8d 81 5b 83 68 0d 0a 09 6b 69 53 74 ......[.h...kiSt
05d0: 72 26 20 6c 6f 61 64 52 73 72 63 28 20 55 49 4e r& loadRsrc( UIN
05e0: 54 20 69 64 20 29 3b 0d 0a 0d 0a 09 6b 69 53 74 T id );.....kiSt
05f0: 72 26 20 72 65 6d 6f 76 65 54 72 61 69 6c 57 53 r& removeTrailWS
0600: 28 29 3b 0d 0a 0d 0a 70 72 6f 74 65 63 74 65 64 ();....protected
0610: 3a 20 2f 2f 2d 2d 20 94 68 90 b6 83 4e 83 89 83 : //-- .h...N...
0620: 58 8c fc 82 af 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d X.... ----------
0630: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0640: 2d 2d 2d 0d 0a 0d 0a 09 63 68 61 72 2a 20 6d 5f ---.....char* m_
0650: 70 42 75 66 3b 0d 0a 09 69 6e 74 20 20 20 6d 5f pBuf;...int m_
0660: 41 4c 65 6e 3b 0d 0a 0d 0a 70 72 69 76 61 74 65 ALen;....private
0670: 3a 20 2f 2f 2d 2d 20 93 e0 95 94 8f 88 97 9d 20 : //-- ........
0680: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0690: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
06a0: 2d 2d 2d 2d 2d 0d 0a 0d 0a 09 73 74 61 74 69 63 -----.....static
06b0: 20 63 68 61 72 20 73 74 5f 6c 62 5b 32 35 36 5d char st_lb[256]
06c0: 3b 0d 0a 0d 0a 70 75 62 6c 69 63 3a 0d 0a 0d 0a ;....public:....
06d0: 09 76 69 72 74 75 61 6c 20 7e 6b 69 53 74 72 28 .virtual ~kiStr(
06e0: 29 3b 0d 0a 7d 3b 0d 0a 0d 0a 69 6e 6c 69 6e 65 );..};....inline
06f0: 20 63 6f 6e 73 74 20 6b 69 53 74 72 20 6f 70 65 const kiStr ope
0700: 72 61 74 6f 72 2b 28 63 6f 6e 73 74 20 6b 69 53 rator+(const kiS
0710: 74 72 26 20 78 2c 20 63 6f 6e 73 74 20 6b 69 53 tr& x, const kiS
0720: 74 72 26 20 79 29 0d 0a 09 7b 20 72 65 74 75 72 tr& y)...{ retur
0730: 6e 20 6b 69 53 74 72 28 78 29 20 2b 3d 20 79 3b n kiStr(x) += y;
0740: 20 7d 0d 0a 69 6e 6c 69 6e 65 20 63 6f 6e 73 74 }..inline const
0750: 20 6b 69 53 74 72 20 6f 70 65 72 61 74 6f 72 2b kiStr operator+
0760: 28 63 6f 6e 73 74 20 63 68 61 72 2a 20 78 2c 20 (const char* x,
0770: 63 6f 6e 73 74 20 6b 69 53 74 72 26 20 79 29 0d const kiStr& y).
0780: 0a 09 7b 20 72 65 74 75 72 6e 20 6b 69 53 74 72 ..{ return kiStr
0790: 28 78 29 20 2b 3d 20 79 3b 20 7d 0d 0a 69 6e 6c (x) += y; }..inl
07a0: 69 6e 65 20 63 6f 6e 73 74 20 6b 69 53 74 72 20 ine const kiStr
07b0: 6f 70 65 72 61 74 6f 72 2b 28 63 6f 6e 73 74 20 operator+(const
07c0: 6b 69 53 74 72 26 20 78 2c 20 63 6f 6e 73 74 20 kiStr& x, const
07d0: 63 68 61 72 2a 20 79 29 0d 0a 09 7b 20 72 65 74 char* y)...{ ret
07e0: 75 72 6e 20 6b 69 53 74 72 28 78 29 20 2b 3d 20 urn kiStr(x) +=
07f0: 79 3b 20 7d 0d 0a 0d 0a 2f 2a 3d 2a 3d 2a 3d 2a y; }..../*=*=*=*
0800: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
0810: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
0820: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
0830: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
0840: 2f 0d 0a 2f 2f 20 6b 69 50 61 74 68 20 3a 20 83 /..// kiPath : .
0850: 70 83 58 93 c1 97 4c 82 cc 8f 88 97 9d 97 70 8a p.X...L.......p.
0860: d6 90 94 95 74 82 ab 95 b6 8e 9a 97 f1 0d 0a 0d ....t...........
0870: 0a 63 6c 61 73 73 20 6b 69 50 61 74 68 20 3a 20 .class kiPath :
0880: 70 75 62 6c 69 63 20 6b 69 53 74 72 0d 0a 7b 0d public kiStr..{.
0890: 0a 70 75 62 6c 69 63 3a 20 2f 2f 2d 2d 20 8a 4f .public: //-- .O
08a0: 8c fc 82 ab 83 43 83 93 83 5e 81 5b 83 74 83 46 .....C...^.[.t.F
08b0: 83 43 83 58 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .C.X -----------
08c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
08d0: 0a 0d 0a 09 2f 2f 20 8f 89 8a fa 89 bb 0d 0a 09 ....// .........
08e0: 6b 69 50 61 74 68 28 29 20 3a 20 6b 69 53 74 72 kiPath() : kiStr
08f0: 28 20 4d 41 58 5f 50 41 54 48 20 29 7b 7d 0d 0a ( MAX_PATH ){}..
0900: 09 65 78 70 6c 69 63 69 74 20 6b 69 50 61 74 68 .explicit kiPath
0910: 28 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 73 20 ( const char* s
0920: 29 20 3a 20 6b 69 53 74 72 28 20 73 2c 20 4d 41 ) : kiStr( s, MA
0930: 58 5f 50 41 54 48 20 29 7b 7d 0d 0a 09 65 78 70 X_PATH ){}...exp
0940: 6c 69 63 69 74 20 6b 69 50 61 74 68 28 20 63 6f licit kiPath( co
0950: 6e 73 74 20 6b 69 53 74 72 26 20 73 20 29 20 3a nst kiStr& s ) :
0960: 20 6b 69 53 74 72 28 20 73 2c 20 4d 41 58 5f 50 kiStr( s, MAX_P
0970: 41 54 48 20 29 7b 7d 0d 0a 09 65 78 70 6c 69 63 ATH ){}...explic
0980: 69 74 20 6b 69 50 61 74 68 28 20 63 6f 6e 73 74 it kiPath( const
0990: 20 6b 69 50 61 74 68 26 20 73 20 29 20 3a 20 6b kiPath& s ) : k
09a0: 69 53 74 72 28 20 73 2c 20 4d 41 58 5f 50 41 54 iStr( s, MAX_PAT
09b0: 48 20 29 7b 7d 0d 0a 09 6b 69 50 61 74 68 28 20 H ){}...kiPath(
09c0: 69 6e 74 20 6e 50 41 54 48 2c 20 62 6f 6f 6c 20 int nPATH, bool
09d0: 62 73 20 3d 20 74 72 75 65 20 29 20 3a 20 6b 69 bs = true ) : ki
09e0: 53 74 72 28 20 4d 41 58 5f 50 41 54 48 20 29 0d Str( MAX_PATH ).
09f0: 0a 09 09 7b 0d 0a 09 09 09 62 65 53 70 65 63 69 ...{.....beSpeci
0a00: 61 6c 50 61 74 68 28 20 6e 50 41 54 48 20 29 3b alPath( nPATH );
0a10: 0d 0a 09 09 09 69 66 28 20 6e 50 41 54 48 20 21 .....if( nPATH !
0a20: 3d 20 45 78 65 5f 6e 61 6d 65 20 29 0d 0a 09 09 = Exe_name )....
0a30: 09 09 62 65 42 61 63 6b 53 6c 61 73 68 28 20 62 ..beBackSlash( b
0a40: 73 20 29 3b 0d 0a 09 09 7d 0d 0a 0d 0a 09 2f 2f s );....}.....//
0a50: 20 6f 70 65 72 61 74 6f 72 0d 0a 09 76 6f 69 64 operator...void
0a60: 20 6f 70 65 72 61 74 6f 72 20 3d 20 28 20 63 6f operator = ( co
0a70: 6e 73 74 20 63 68 61 72 2a 20 73 20 29 7b 20 6b nst char* s ){ k
0a80: 69 53 74 72 3a 3a 6f 70 65 72 61 74 6f 72 20 3d iStr::operator =
0a90: 28 73 29 3b 20 7d 0d 0a 0d 0a 09 2f 2f 20 93 c1 (s); }.....// ..
0aa0: 8e ea 83 70 83 58 8e e6 93 be 0d 0a 09 76 6f 69 ...p.X.......voi
0ab0: 64 20 62 65 53 70 65 63 69 61 6c 50 61 74 68 28 d beSpecialPath(
0ac0: 20 69 6e 74 20 6e 50 41 54 48 20 29 3b 0d 0a 09 int nPATH );...
0ad0: 65 6e 75 6d 20 7b 20 57 69 6e 3d 30 78 31 37 38 enum { Win=0x178
0ae0: 37 2c 20 53 79 73 2c 20 54 6d 70 2c 20 50 72 67 7, Sys, Tmp, Prg
0af0: 2c 20 45 78 65 2c 20 43 75 72 2c 20 45 78 65 5f , Exe, Cur, Exe_
0b00: 6e 61 6d 65 2c 0d 0a 09 09 09 53 6e 64 3d 43 53 name,.....Snd=CS
0b10: 49 44 4c 5f 53 45 4e 44 54 4f 2c 20 44 73 6b 3d IDL_SENDTO, Dsk=
0b20: 43 53 49 44 4c 5f 44 45 53 4b 54 4f 50 2c 20 44 CSIDL_DESKTOP, D
0b30: 6f 63 3d 43 53 49 44 4c 5f 50 45 52 53 4f 4e 41 oc=CSIDL_PERSONA
0b40: 4c 20 7d 3b 0d 0a 0d 0a 09 2f 2f 20 92 5a 82 a2 L };.....// .Z..
0b50: 83 70 83 58 0d 0a 09 76 6f 69 64 20 62 65 53 68 .p.X...void beSh
0b60: 6f 72 74 50 61 74 68 28 29 3b 0d 0a 0d 0a 09 2f ortPath();...../
0b70: 2f 20 8d c5 8c e3 82 cc 83 6f 83 62 83 4e 83 58 / .......o.b.N.X
0b80: 83 89 83 62 83 56 83 85 90 a7 8c e4 0d 0a 09 76 ...b.V.........v
0b90: 6f 69 64 20 62 65 42 61 63 6b 53 6c 61 73 68 28 oid beBackSlash(
0ba0: 20 62 6f 6f 6c 20 61 64 64 20 29 3b 0d 0a 0d 0a bool add );....
0bb0: 09 2f 2f 20 83 66 83 42 83 8c 83 4e 83 67 83 8a .// .f.B...N.g..
0bc0: 96 bc 82 cc 82 dd 0d 0a 09 62 6f 6f 6c 20 62 65 .........bool be
0bd0: 44 69 72 4f 6e 6c 79 28 29 3b 0d 0a 09 2f 2f 20 DirOnly();...//
0be0: 83 74 83 40 83 43 83 8b 96 bc 65 78 63 65 70 74 .t.@.C....except
0bf0: 8a 67 92 a3 8e 71 91 53 95 94 0d 0a 09 76 6f 69 .g...q.S.....voi
0c00: 64 20 67 65 74 42 6f 64 79 28 20 6b 69 53 74 72 d getBody( kiStr
0c10: 26 20 73 74 72 20 29 20 63 6f 6e 73 74 3b 0d 0a & str ) const;..
0c20: 09 2f 2f 20 83 74 83 40 83 43 83 8b 96 bc 65 78 .// .t.@.C....ex
0c30: 63 65 70 74 8a 67 92 a3 8e 71 88 ea 82 c2 0d 0a cept.g...q......
0c40: 09 76 6f 69 64 20 67 65 74 42 6f 64 79 5f 61 6c .void getBody_al
0c50: 6c 28 20 6b 69 53 74 72 26 20 73 74 72 20 29 20 l( kiStr& str )
0c60: 63 6f 6e 73 74 3b 0d 0a 0d 0a 09 2f 2f 20 95 a1 const;.....// ..
0c70: 90 94 8a 4b 91 77 6d 6b 64 69 72 0d 0a 09 76 6f ...K.wmkdir...vo
0c80: 69 64 20 6d 6b 64 69 72 28 29 3b 0d 0a 09 2f 2f id mkdir();...//
0c90: 20 95 a1 90 94 8a 4b 91 77 72 6d 64 69 72 0d 0a .....K.wrmdir..
0ca0: 09 76 6f 69 64 20 72 65 6d 6f 76 65 28 29 3b 0d .void remove();.
0cb0: 0a 0d 0a 09 2f 2f 20 83 68 83 89 83 43 83 75 83 ....// .h...C.u.
0cc0: 5e 83 43 83 76 0d 0a 09 55 49 4e 54 20 67 65 74 ^.C.v...UINT get
0cd0: 44 72 69 76 65 54 79 70 65 28 29 20 63 6f 6e 73 DriveType() cons
0ce0: 74 3b 0d 0a 09 2f 2f 20 93 af 82 b6 83 66 83 42 t;...// .....f.B
0cf0: 83 8c 83 4e 83 67 83 8a 82 c9 82 a0 82 e9 82 a9 ...N.g..........
0d00: 82 c7 82 a4 82 a9 0d 0a 09 62 6f 6f 6c 20 69 73 .........bool is
0d10: 49 6e 53 61 6d 65 44 69 72 28 63 6f 6e 73 74 20 InSameDir(const
0d20: 63 68 61 72 2a 20 72 29 20 63 6f 6e 73 74 3b 0d char* r) const;.
0d30: 0a 0d 0a 09 2f 2f 20 5b 73 74 61 74 69 63 5d 20 ....// [static]
0d40: 83 66 83 42 83 8c 83 4e 83 67 83 8a 8f ee 95 f1 .f.B...N.g......
0d50: 82 f0 8a dc 82 dc 82 c8 82 a2 81 41 83 74 83 40 ...........A.t.@
0d60: 83 43 83 8b 96 bc 82 cc 82 dd 92 8a 8f 6f 0d 0a .C...........o..
0d70: 09 73 74 61 74 69 63 20 63 6f 6e 73 74 20 63 68 .static const ch
0d80: 61 72 2a 20 6e 61 6d 65 28 20 63 6f 6e 73 74 20 ar* name( const
0d90: 63 68 61 72 2a 20 73 74 72 20 29 3b 0d 0a 09 2f char* str );.../
0da0: 2f 20 5b 73 74 61 74 69 63 5d 20 8d c5 8c e3 82 / [static] .....
0db0: cc 8a 67 92 a3 8e 71 81 42 96 b3 82 af 82 ea 82 ..g...q.B.......
0dc0: ce 4e 55 4c 4c 0d 0a 09 73 74 61 74 69 63 20 63 .NULL...static c
0dd0: 6f 6e 73 74 20 63 68 61 72 2a 20 65 78 74 28 20 onst char* ext(
0de0: 63 6f 6e 73 74 20 63 68 61 72 2a 20 73 74 72 20 const char* str
0df0: 29 3b 0d 0a 09 2f 2f 20 5b 73 74 61 74 69 63 5d );...// [static]
0e00: 20 8a 67 92 a3 8e 71 91 53 95 94 81 42 96 b3 82 .g...q.S...B...
0e10: af 82 ea 82 ce 4e 55 4c 4c 0d 0a 09 73 74 61 74 .....NULL...stat
0e20: 69 63 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 65 ic const char* e
0e30: 78 74 5f 61 6c 6c 28 20 63 6f 6e 73 74 20 63 68 xt_all( const ch
0e40: 61 72 2a 20 73 74 72 20 29 3b 0d 0a 09 2f 2f 20 ar* str );...//
0e50: 5b 73 74 61 74 69 63 5d 20 5c 20 2f 20 82 c5 8f [static] \ / ...
0e60: 49 82 ed 82 e9 82 a9 94 db 82 a9 0d 0a 09 73 74 I.............st
0e70: 61 74 69 63 20 62 6f 6f 6c 20 65 6e 64 77 69 74 atic bool endwit
0e80: 68 79 65 6e 28 20 63 6f 6e 73 74 20 63 68 61 72 hyen( const char
0e90: 2a 20 73 74 72 20 29 3b 0d 0a 0d 0a 09 2f 2f 20 * str );.....//
0ea0: 6e 6f 6e 2d 73 74 61 74 69 63 2d 76 65 72 0d 0a non-static-ver..
0eb0: 09 63 6f 6e 73 74 20 63 68 61 72 2a 20 6e 61 6d .const char* nam
0ec0: 65 28 29 20 63 6f 6e 73 74 0d 0a 09 09 7b 20 72 e() const....{ r
0ed0: 65 74 75 72 6e 20 6e 61 6d 65 28 6d 5f 70 42 75 eturn name(m_pBu
0ee0: 66 29 3b 20 7d 0d 0a 09 63 6f 6e 73 74 20 63 68 f); }...const ch
0ef0: 61 72 2a 20 65 78 74 28 29 20 63 6f 6e 73 74 0d ar* ext() const.
0f00: 0a 09 09 7b 20 72 65 74 75 72 6e 20 65 78 74 28 ...{ return ext(
0f10: 6d 5f 70 42 75 66 29 3b 20 7d 0d 0a 09 63 6f 6e m_pBuf); }...con
0f20: 73 74 20 63 68 61 72 2a 20 65 78 74 5f 61 6c 6c st char* ext_all
0f30: 28 29 20 63 6f 6e 73 74 0d 0a 09 09 7b 20 72 65 () const....{ re
0f40: 74 75 72 6e 20 65 78 74 5f 61 6c 6c 28 6d 5f 70 turn ext_all(m_p
0f50: 42 75 66 29 3b 20 7d 0d 0a 7d 3b 0d 0a 0d 0a 23 Buf); }..};....#
0f60: 65 6e 64 69 66 0d 0a endif..