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.
This commit is contained in:
Ralf Corsepius
2010-07-30 12:09:38 +00:00
parent e1b8e8e732
commit 88c93c310b
3 changed files with 15 additions and 13 deletions

View File

@@ -1,3 +1,9 @@
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.
2010-07-29 Ralf Corsépius <ralf.corsepius@rtems.org> 2010-07-29 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems-bin2c.c: Add -C and -H options. * rtems-bin2c.c: Add -C and -H options.

View File

@@ -13,8 +13,8 @@ AM_INIT_AUTOMAKE([no-define foreign 1.10])
AM_MAINTAINER_MODE AM_MAINTAINER_MODE
AC_PROG_CC AC_PROG_CC
AC_CHECK_HEADERS([getopt.h]) AC_CHECK_HEADERS([getopt.h libgen.h])
AC_CHECK_FUNCS(strerror strtol) AC_CHECK_FUNCS(strerror strtol basename)
RTEMS_PATH_KSH RTEMS_PATH_KSH

View File

@@ -29,6 +29,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <libgen.h>
#ifndef PATH_MAX #ifndef PATH_MAX
#define PATH_MAX 1024 #define PATH_MAX 1024
@@ -111,15 +112,10 @@ void process(const char *ifname, const char *ofname)
} }
/* find basename */ /* find basename */
if ((cp = strrchr(ifname, '/')) != NULL) char *ifbasename = strdup(ifname);
++cp; ifbasename = basename(ifbasename);
else {
if ((cp = strrchr(ifname, '\\')) != NULL) strcpy(buf, ifbasename);
++cp;
else
cp = ifname;
}
strcpy(buf, cp);
for (p = buf; *p != '\0'; ++p) for (p = buf; *p != '\0'; ++p)
if (!isalnum(*p)) if (!isalnum(*p))
*p = '_'; *p = '_';
@@ -136,7 +132,7 @@ void process(const char *ifname, const char *ofname)
"\n" "\n"
"#include <sys/types.h>\n" "#include <sys/types.h>\n"
"\n", "\n",
ifname ifbasename
); );
/* print structure */ /* print structure */
@@ -190,7 +186,7 @@ void process(const char *ifname, const char *ofname)
"\n" "\n"
"#include <sys/types.h>\n" "#include <sys/types.h>\n"
"\n", "\n",
obasename, /* header */ ifbasename, /* header */
obasename, /* ifndef */ obasename, /* ifndef */
obasename /* define */ obasename /* define */
); );