* as/hc08/lkaomf51.c (OutputName): made name unsigned char,
[fw/sdcc] / as / hc08 / lkaomf51.c
index fa009e7732d9ed71c379249e7889eccb2f7f706a..7e0122dd2c9b7c8d2b025691b9dba8c4ea171c3b 100644 (file)
@@ -203,7 +203,7 @@ void OutputWord(int value)
        OutputByte((unsigned char)(value/0x100));
 }
 
-void OutputName(char * name)
+void OutputName(unsigned char * name)
 {
        int k;
        OutputByte((unsigned char)strlen(name));
@@ -869,12 +869,12 @@ void CollectInfoFromCDB(void)
        fclose(CDBin);
 }
 
-int hex2dec (char hex_digit)
+int hex2dec (unsigned char hex_digit)
 {
-   int j;
-   j=toupper(hex_digit)-'0';
-   if (j>9) j -= 7;
-   return j;
+   if (isdigit(hex_digit))
+      return hex_digit-'0';
+   else
+      return toupper(hex_digit)-'A'+10;
 }
 
 unsigned char GetByte(char * buffer)