|
|
@ -241,7 +241,7 @@ int main(int argc, char* argv[]) |
|
|
|
for (int i = 0; i < linesCount; i++) |
|
|
|
{ |
|
|
|
// Read enum line |
|
|
|
if (IsTextEqual(lines[i], "typedef enum {", 14)) |
|
|
|
if (IsTextEqual(lines[i], "typedef enum {", 14) && lines[i][TextLength(lines[i])-1] != ';') // ignore inline enums |
|
|
|
{ |
|
|
|
// Keep the line position in the array of lines, |
|
|
|
// so, we can scan that position and following lines |
|
|
@ -401,17 +401,17 @@ int main(int argc, char* argv[]) |
|
|
|
{ |
|
|
|
if (linePtr[c + 1] == ' ') c += 2; |
|
|
|
else c++; |
|
|
|
|
|
|
|
|
|
|
|
// Parse integer value |
|
|
|
int n = 0; |
|
|
|
char integer[16] = { 0 }; |
|
|
|
|
|
|
|
|
|
|
|
while ((linePtr[c] != ',') && (linePtr[c] != ' ') && (linePtr[c] != '\0')) |
|
|
|
{ |
|
|
|
integer[n] = linePtr[c]; |
|
|
|
c++; n++; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (integer[1] == 'x') enums[i].valueInteger[enums[i].valueCount] = (int)strtol(integer, NULL, 16); |
|
|
|
else enums[i].valueInteger[enums[i].valueCount] = atoi(integer); |
|
|
|
} |
|
|
@ -869,22 +869,22 @@ static bool IsTextEqual(const char *text1, const char *text2, unsigned int count |
|
|
|
static char *EscapeBackslashes(char *text) |
|
|
|
{ |
|
|
|
static char buffer[256] = { 0 }; |
|
|
|
|
|
|
|
|
|
|
|
int count = 0; |
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; (text[i] != '\0') && (i < 255); i++, count++) |
|
|
|
{ |
|
|
|
buffer[count] = text[i]; |
|
|
|
|
|
|
|
if (text[i] == '\\') |
|
|
|
|
|
|
|
if (text[i] == '\\') |
|
|
|
{ |
|
|
|
buffer[count + 1] = '\\'; |
|
|
|
count++; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
buffer[count] = '\0'; |
|
|
|
|
|
|
|
|
|
|
|
return buffer; |
|
|
|
} |
|
|
|
|
|
|
|