From e4ff9cc9a5d519c2daf4e3ced0a706189602b9a8 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Wed, 5 Nov 2014 16:16:47 -0800 Subject: Added minor API to clean path on a Windows computer. --- src/misc/extra/extra.h | 1 + src/misc/extra/extraUtilFile.c | 25 +++++++++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/misc/extra/extra.h b/src/misc/extra/extra.h index 4e36554c..5d9c405f 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 bec8ba1e..ee9168f6 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; -- cgit v1.2.3