From: borutr Date: Sun, 14 Jan 2007 19:47:28 +0000 (+0000) Subject: * as/mcs51/asnoice.c, as/hc08/asnoice.c: fixed bug #1447412: X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=0c9834393ace08d317b236f5bf92a727175c8735;p=fw%2Fsdcc * as/mcs51/asnoice.c, as/hc08/asnoice.c: fixed bug #1447412: Cannot debug files that contain spaces in the path name by converting spaces in asm file name to underscores git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4572 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/ChangeLog b/ChangeLog index d0fcbf3c..854ab9b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,8 @@ 2007-01-14 Borut Razem - * as/mcs51/asnoice.c: fixed bug #1447412: + * as/mcs51/asnoice.c, as/hc08/asnoice.c: fixed bug #1447412: Cannot debug files that contain spaces in the path name - by converting spaces in asm file mane to underscores + by converting spaces in asm file name to underscores 2007-01-13 Borut Razem diff --git a/as/hc08/asnoice.c b/as/hc08/asnoice.c index 38d3233f..2220d3a6 100644 --- a/as/hc08/asnoice.c +++ b/as/hc08/asnoice.c @@ -9,12 +9,13 @@ #include #include #include +#include #include "asm.h" -/* Return basic file name without path or extension */ -static char* BaseFileName( int fileNumber ); +/* Return basic file name without path or extension. + If spacesToUnderscores != 0 then spaces are converted to underscores */ -char* BaseFileName( int fileNumber ) +char* BaseFileName( int fileNumber, int spacesToUnderscores ) { static int prevFile = -1; static char baseName[ PATH_MAX ]; @@ -42,6 +43,14 @@ char* BaseFileName( int fileNumber ) if (p2 != NULL) *p2 = 0; /* SD comment this out since not a ANSI Function */ /* strupr( baseName ); */ + + if (spacesToUnderscores) + { + /* Convert spaces to underscores */ + for (p1 = baseName; *p1; ++p1) + if (isspace(*p1)) + *p1 = '_'; + } } return baseName; } @@ -53,7 +62,7 @@ void DefineNoICE_Line() struct sym *pSym; /* symbol is FILE.nnn */ - sprintf( name, "%s.%u", BaseFileName( cfile ), srcline[ cfile ] ); + sprintf( name, "%s.%u", BaseFileName( cfile, 0 ), srcline[ cfile ] ); pSym = lookup( name ); pSym->s_type = S_USER; @@ -69,7 +78,7 @@ void DefineCDB_Line() struct sym *pSym; /* symbol is FILE.nnn */ - sprintf( name, "A$%s$%u", BaseFileName( cfile ), srcline[ cfile ] ); + sprintf( name, "A$%s$%u", BaseFileName( cfile, 1 ), srcline[ cfile ] ); pSym = lookup( name ); pSym->s_type = S_USER; diff --git a/as/mcs51/asnoice.c b/as/mcs51/asnoice.c index a18b1f15..2220d3a6 100644 --- a/as/mcs51/asnoice.c +++ b/as/mcs51/asnoice.c @@ -51,7 +51,6 @@ char* BaseFileName( int fileNumber, int spacesToUnderscores ) if (isspace(*p1)) *p1 = '_'; } - } return baseName; }