Hex Artifact Content

Not logged in

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..