From 88c93c310bf717280f28fe6af333c1ddf8373a7c Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Fri, 30 Jul 2010 12:09:38 +0000 Subject: =?UTF-8?q?2010-07-30=09Ralf=20Cors=C3=A9pius=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * configure.ac: Check for libgen.h, basename. * rtems-bin2c.c: Use basename(3) instead of strrchr cascade. Introduce ifbasename. Use ifbasename in generated files. --- tools/build/ChangeLog | 6 ++++++ tools/build/configure.ac | 4 ++-- tools/build/rtems-bin2c.c | 18 +++++++----------- 3 files changed, 15 insertions(+), 13 deletions(-) (limited to 'tools/build') diff --git a/tools/build/ChangeLog b/tools/build/ChangeLog index 06f46a69c9..d80c52528e 100644 --- a/tools/build/ChangeLog +++ b/tools/build/ChangeLog @@ -1,3 +1,9 @@ +2010-07-30 Ralf Corsépius + + * configure.ac: Check for libgen.h, basename. + * rtems-bin2c.c: Use basename(3) instead of strrchr cascade. + Introduce ifbasename. Use ifbasename in generated files. + 2010-07-29 Ralf Corsépius * rtems-bin2c.c: Add -C and -H options. diff --git a/tools/build/configure.ac b/tools/build/configure.ac index 7d6d204ec5..16ef5e7c88 100644 --- a/tools/build/configure.ac +++ b/tools/build/configure.ac @@ -13,8 +13,8 @@ AM_INIT_AUTOMAKE([no-define foreign 1.10]) AM_MAINTAINER_MODE AC_PROG_CC -AC_CHECK_HEADERS([getopt.h]) -AC_CHECK_FUNCS(strerror strtol) +AC_CHECK_HEADERS([getopt.h libgen.h]) +AC_CHECK_FUNCS(strerror strtol basename) RTEMS_PATH_KSH 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 #include #include +#include #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 \n" "\n", - ifname + ifbasename ); /* print structure */ @@ -190,7 +186,7 @@ void process(const char *ifname, const char *ofname) "\n" "#include \n" "\n", - obasename, /* header */ + ifbasename, /* header */ obasename, /* ifndef */ obasename /* define */ ); -- cgit v1.2.3