summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
author4rk <[email protected]>2024-02-26 06:22:06 -0300
committerGitHub <[email protected]>2024-02-26 10:22:06 +0100
commitc588a291e61586c5b74e230919b490aab18d8290 (patch)
treed64edf8acb4a32870eb6b69f1d778bfb29cca37a /src
parent2a774a88f5532908e09b15602d1482be96470f7f (diff)
downloadraylib-c588a291e61586c5b74e230919b490aab18d8290.tar.gz
raylib-c588a291e61586c5b74e230919b490aab18d8290.zip
Add very little sanitization to indentifier names in ExportDataAsCode() (#3832)
Diffstat (limited to 'src')
-rw-r--r--src/utils.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/utils.c b/src/utils.c
index 987021c7..78b3b7bd 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -313,10 +313,16 @@ bool ExportDataAsCode(const unsigned char *data, int dataSize, const char *fileN
byteCount += sprintf(txtData + byteCount, "// //\n");
byteCount += sprintf(txtData + byteCount, "////////////////////////////////////////////////////////////////////////////////////////\n\n");
- // Get file name from path and convert variable name to uppercase
+ // Get file name from path
char varFileName[256] = { 0 };
strcpy(varFileName, GetFileNameWithoutExt(fileName));
- for (int i = 0; varFileName[i] != '\0'; i++) if ((varFileName[i] >= 'a') && (varFileName[i] <= 'z')) { varFileName[i] = varFileName[i] - 32; }
+ for (int i = 0; varFileName[i] != '\0'; i++)
+ {
+ // Convert variable name to uppercase
+ if ((varFileName[i] >= 'a') && (varFileName[i] <= 'z')) { varFileName[i] = varFileName[i] - 32; }
+ // Replace '-' (non valid character for C identifier with '_')
+ if (varFileName[i] == '-') { varFileName[i] = '_'; }
+ }
byteCount += sprintf(txtData + byteCount, "#define %s_DATA_SIZE %i\n\n", varFileName, dataSize);