summaryrefslogtreecommitdiffstats
path: root/tools/build/rtems-bin2c.c
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2010-07-30 12:09:38 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2010-07-30 12:09:38 +0000
commit88c93c310bf717280f28fe6af333c1ddf8373a7c (patch)
tree2d31962d4580664ce3bd1dea54353a23af4c783c /tools/build/rtems-bin2c.c
parent2010-07-30 Ralf Corsépius <ralf.corsepius@rtems.org> (diff)
downloadrtems-88c93c310bf717280f28fe6af333c1ddf8373a7c.tar.bz2
2010-07-30 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Check for libgen.h, basename. * rtems-bin2c.c: Use basename(3) instead of strrchr cascade. Introduce ifbasename. Use ifbasename in generated files.
Diffstat (limited to 'tools/build/rtems-bin2c.c')
-rw-r--r--tools/build/rtems-bin2c.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/tools/build/rtems-bin2c.c b/tools/build/rtems-bin2c.c
index b8e39e8090..57a6642a24 100644
--- a/tools/build/rtems-bin2c.c
+++ b/tools/build/rtems-bin2c.c
@@ -29,6 +29,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <libgen.h>
#ifndef PATH_MAX
#define PATH_MAX 1024
@@ -111,15 +112,10 @@ void process(const char *ifname, const char *ofname)
}
/* find basename */
- if ((cp = strrchr(ifname, '/')) != NULL)
- ++cp;
- else {
- if ((cp = strrchr(ifname, '\\')) != NULL)
- ++cp;
- else
- cp = ifname;
- }
- strcpy(buf, cp);
+ char *ifbasename = strdup(ifname);
+ ifbasename = basename(ifbasename);
+
+ strcpy(buf, ifbasename);
for (p = buf; *p != '\0'; ++p)
if (!isalnum(*p))
*p = '_';
@@ -136,7 +132,7 @@ void process(const char *ifname, const char *ofname)
"\n"
"#include <sys/types.h>\n"
"\n",
- ifname
+ ifbasename
);
/* print structure */
@@ -190,7 +186,7 @@ void process(const char *ifname, const char *ofname)
"\n"
"#include <sys/types.h>\n"
"\n",
- obasename, /* header */
+ ifbasename, /* header */
obasename, /* ifndef */
obasename /* define */
);