summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-12-02 06:43:12 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-12-02 06:44:40 +0100
commit83b8f1f2a5838a5d56e15c70d44348e3e393e3f7 (patch)
tree3972c4f406bd809909ea36509bfcb136a8bb55a2 /misc
parentc02459ee6533e73ac7b65f50f08ec254a0e6e84c (diff)
bin2c: Improve file name sanitation
Only use alpha-numeric characters for header guards.
Diffstat (limited to 'misc')
-rw-r--r--misc/bin2c/rtems-bin2c.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/misc/bin2c/rtems-bin2c.c b/misc/bin2c/rtems-bin2c.c
index 1e59ac5..7ed79dd 100644
--- a/misc/bin2c/rtems-bin2c.c
+++ b/misc/bin2c/rtems-bin2c.c
@@ -42,6 +42,15 @@ int zeroterminated = 0;
int createC = 1;
int createH = 1;
+static void sanitize_file_name(char *p)
+{
+ while (*p != '\0') {
+ if (!isalnum((unsigned char)*p)) /* cast to avoid negative indexing */
+ *p = '_';
+ ++p;
+ }
+}
+
int myfgetc(FILE *f)
{
int c = fgetc(f);
@@ -55,7 +64,7 @@ int myfgetc(FILE *f)
void process(const char *ifname, const char *ofname, const char *forced_name)
{
FILE *ifile, *ocfile, *ohfile;
- char buf[PATH_MAX+1], *p;
+ char buf[PATH_MAX+1];
char obasename[PATH_MAX+1];
char ocname[PATH_MAX+5];
char ohname[PATH_MAX+5];
@@ -132,10 +141,7 @@ void process(const char *ifname, const char *ofname, const char *forced_name)
ifbasename = basename(ifbasename_to_free);
strcpy(buf, ifbasename);
- for (p = buf; *p != '\0'; ++p) {
- if (!isalnum((unsigned char)*p)) /* cast to avoid negative indexing */
- *p = '_';
- }
+ sanitize_file_name(buf);
if ( createC ) {
/* print C file header */
@@ -191,18 +197,12 @@ void process(const char *ifname, const char *ofname, const char *forced_name)
if ( createH ) {
/* print H file header */
char hbasename[PATH_MAX];
- char* p;
/* Clean up the file name if it is an abs path */
strcpy(
hbasename,
obasename
);
- p = hbasename;
- while (*p != '\0') {
- if (*p < '0' || *p > 'z')
- *p = '_';
- ++p;
- }
+ sanitize_file_name(hbasename);
fprintf(
ohfile,
"/*\n"