diff --git a/src/misc/extra/extra.h b/src/misc/extra/extra.h index 4e36554c5..5d9c405f0 100644 --- a/src/misc/extra/extra.h +++ b/src/misc/extra/extra.h @@ -103,6 +103,7 @@ extern char * Extra_FileNameExtension( char * FileName ); extern char * Extra_FileNameAppend( char * pBase, char * pSuffix ); extern char * Extra_FileNameGeneric( char * FileName ); extern char * Extra_FileNameGenericAppend( char * pBase, char * pSuffix ); +extern void Extra_FileNameCorrectPath( char * FileName ); extern char * Extra_FileNameWithoutPath( char * FileName ); extern char * Extra_FilePathWithoutName( char * FileName ); extern int Extra_FileCheck( char * pFileName ); diff --git a/src/misc/extra/extraUtilFile.c b/src/misc/extra/extraUtilFile.c index bec8ba1ea..ee9168f6f 100644 --- a/src/misc/extra/extraUtilFile.c +++ b/src/misc/extra/extraUtilFile.c @@ -194,6 +194,26 @@ char * Extra_FileNameGenericAppend( char * pBase, char * pSuffix ) return Buffer; } +/**Function************************************************************* + + Synopsis [] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +void Extra_FileNameCorrectPath( char * FileName ) +{ + char * pStart; + if ( FileName ) + for ( pStart = FileName; *pStart; pStart++ ) + if ( *pStart == '>' || *pStart == '\\' ) + *pStart = '/'; +} + /**Function************************************************************* Synopsis [] @@ -220,8 +240,9 @@ char * Extra_FilePathWithoutName( char * FileName ) for ( pRes = FileName + strlen(FileName) - 1; pRes >= FileName; pRes-- ) if ( *pRes == '\\' || *pRes == '/' ) { - *pRes = 0; - return FileName; + *pRes = 0; + Extra_FileNameCorrectPath( FileName ); + return FileName; } ABC_FREE( FileName ); return NULL;