diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2010-07-30 12:09:38 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2010-07-30 12:09:38 +0000 |
commit | 88c93c310bf717280f28fe6af333c1ddf8373a7c (patch) | |
tree | 2d31962d4580664ce3bd1dea54353a23af4c783c /tools/build/rtems-bin2c.c | |
parent | 2010-07-30 Ralf Corsépius <ralf.corsepius@rtems.org> (diff) | |
download | rtems-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.c | 18 |
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 */ ); |