/* Set "Over" */\r
p = directive_0.DirectiveName_Over;\r
for (;;) {\r
- p = _tcschr( p, _T('\n') );\r
- if ( p == NULL ) {\r
+ const TCHAR* p2 = _tcschr( p, _T('\n') );\r
+ if ( p2 == NULL ) {\r
p = _tcschr( p, _T('\0') );\r
break;\r
- } else if ( *( p - 1 ) == _T('\\') ) {\r
- p += 1;\r
+ } else if ( *( p2 - 1 ) == _T('\\') ) {\r
+ p = p2 + 1;\r
continue;\r
} else {\r
- p += 1;\r
+ p = p2 + 1;\r
break;\r
}\r
}\r
/***********************************************************************\r
<<< [FileT_writePart] >>> \r
************************************************************************/\r
-errnum_t FileT_writePart( FILE* File, TCHAR* Start, TCHAR* Over )\r
+errnum_t FileT_writePart( FILE* File, const TCHAR* Start, TCHAR* Over )\r
{\r
errnum_t e;\r
TCHAR back_char;\r
}\r
\r
\r
-//[MergeError]\r
-errnum_t MergeError( errnum_t e, errnum_t ee )\r
-{\r
- if ( e == 0 ) { return ee; }\r
- else { /* ErrorLog_add( ee ); */ return e; }\r
-}\r
-\r
-\r
//[PushErr]\r
void PushErr( ErrStackAreaClass* ErrStackArea )\r
{\r
\r
#endif // ENABLE_ERROR_BREAK_IN_ERROR_CLASS\r
\r
+\r
+//[MergeError]\r
+errnum_t MergeError( errnum_t e, errnum_t ee )\r
+{\r
+ if ( e == 0 ) { return ee; }\r
+ else { /* ErrorLog_add( ee ); */ return e; }\r
+}\r
+\r
+\r
\r
/***********************************************************************\r
<<< [g_Error4_String] >>> \r
/***********************************************************************\r
<<< [StrT_skip] >>> \r
************************************************************************/\r
-TCHAR* StrT_skip( const TCHAR* s, const TCHAR* keys )\r
+TCHAR* StrT_skip( const TCHAR* String, const TCHAR* Keys )\r
{\r
- if ( *keys == _T('\0') ) return (TCHAR*) s;\r
+ if ( *Keys == _T('\0') ) { return (TCHAR*) String; }\r
\r
- for ( ; *s != _T('\0'); s++ ) {\r
- if ( _tcschr( keys, *s ) == NULL )\r
+ for ( ; *String != _T('\0'); String += 1 ) {\r
+ if ( _tcschr( Keys, *String ) == NULL )\r
break;\r
}\r
- return (TCHAR*) s;\r
+ return (TCHAR*) String;\r
+}\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [StrT_rskip] >>> \r
+************************************************************************/\r
+TCHAR* StrT_rskip( const TCHAR* String, const TCHAR* SearchStart, const TCHAR* Keys,\r
+ void* NullConfig )\r
+{\r
+ const TCHAR* pointer;\r
+\r
+ UNREFERENCED_VARIABLE( NullConfig );\r
+\r
+ if ( *Keys == _T('\0') ) { return (TCHAR*) SearchStart; }\r
+\r
+ for ( pointer = SearchStart; pointer >= String; pointer -= 1 ) {\r
+ if ( _tcschr( Keys, *pointer ) == NULL )\r
+ { return (TCHAR*) pointer; }\r
+ }\r
+ return NULL;\r
}\r
\r
\r
{\r
errnum_t e;\r
int i;\r
- TCHAR** syms = NULL;\r
bool* syms_exists = NULL;\r
bool b_nosym = false;\r
TCHAR* sym = NULL;\r
size_t sym_size = ( _tcslen( Symbols ) + 1 ) * sizeof(TCHAR);\r
int n_sym = 0;\r
+ const TCHAR** syms = NULL;\r
const TCHAR* p;\r
\r
UNREFERENCED_VARIABLE( bCase );\r
if ( sym[0] != _T('\0') ) n_sym ++;\r
} while ( p != NULL );\r
\r
- syms = (TCHAR**) malloc( n_sym * sizeof(TCHAR*) ); IF(syms==NULL)goto err_fm;\r
- memset( syms, 0, n_sym * sizeof(TCHAR*) );\r
+ syms = (const TCHAR**) malloc( n_sym * sizeof(TCHAR*) ); IF(syms==NULL)goto err_fm;\r
+ memset( (TCHAR**) syms, 0, n_sym * sizeof(TCHAR*) );\r
syms_exists = (bool*) malloc( n_sym * sizeof(bool) ); IF(syms_exists==NULL)goto err_fm;\r
memset( syms_exists, 0, n_sym * sizeof(bool) );\r
\r
fin:\r
if ( syms != NULL ) {\r
for ( i = 0; i < n_sym; i++ ) {\r
- if ( syms[i] != NULL ) free( syms[i] );\r
+ e= HeapMemory_free( &syms[i], e );\r
}\r
- free( syms );\r
+ free( (TCHAR**) syms );\r
}\r
- if ( syms_exists != NULL ) free( syms_exists );\r
- if ( sym != NULL ) free( sym );\r
+ e= HeapMemory_free( &syms_exists, e );\r
+ e= HeapMemory_free( &sym, e );\r
return e;\r
err_fm: e= E_FEW_MEMORY; goto fin;\r
}\r
\r
p = parent_position - 1;\r
for (;;) {\r
- IF( p < OutStart ) goto err; /* "../" are too many */\r
+ IF( p < OutStart ) {goto err;} /* "../" are too many */\r
if ( *p == separator ) { break; }\r
p -= 1;\r
}\r
\r
p = null_position - 4;\r
for (;;) {\r
- IF( p < OutStart ) goto err; /* "../" are too many */\r
+ IF( p < OutStart ) {goto err;} /* "../" are too many */\r
if ( *p == separator ) { break; }\r
p -= 1;\r
}\r
errnum_t e;\r
TCHAR* p;\r
\r
- IF_D( StrStart < Str || (char*) StrStart >= (char*)Str + StrSize )goto err;\r
+ IF_D( StrStart < Str || (char*) StrStart >= (char*)Str + StrSize ){goto err;}\r
\r
if ( StepPath[0] == _T('\0') ) {\r
*StrStart = _T('\0');\r
/* Set "base_pointer" */\r
if ( BasePath == NULL ) {\r
base_pointer = _tgetcwd( base_path_2, _countof(base_path_2) );\r
- IF( base_pointer == NULL ) goto err;\r
+ IF( base_pointer == NULL ) {goto err;}\r
}\r
else {\r
base_pointer = BasePath;\r
}\r
\r
// [ NULL | ... ]\r
- IF( last_str != AllocStr ) goto err;\r
+ IF( last_str != AllocStr ) {goto err;}\r
\r
// [ FirstStr | NULL | TCHAR[] | ... ]\r
if ( prev_of_last_str == NULL ) {\r
#ifdef _DEBUG\r
void Set2_setDebug( Set2* m, void* PointerOfDebugArray )\r
{\r
- m->PointerOfDebugArray = PointerOfDebugArray;\r
+ m->PointerOfDebugArray = (void**) PointerOfDebugArray;\r
*m->PointerOfDebugArray = m->First;\r
}\r
#endif\r