mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -04:00
Allow the bin2c output filename stem to contain a path.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23557 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
513a76e14e
commit
992b57324e
1 changed files with 12 additions and 3 deletions
|
@ -34,6 +34,7 @@
|
|||
#define close _close
|
||||
#define read _read
|
||||
#endif
|
||||
#include <libgen.h>
|
||||
|
||||
#ifndef O_BINARY
|
||||
#define O_BINARY 0
|
||||
|
@ -50,10 +51,14 @@ static off_t filesize(int fd)
|
|||
static int write_cfile(const unsigned char* buf, off_t len, const char* cname)
|
||||
{
|
||||
char filename[256];
|
||||
char filebase[256];
|
||||
char* bn;
|
||||
FILE* fp;
|
||||
int i;
|
||||
|
||||
snprintf(filename,256,"%s.c",cname);
|
||||
strncpy(filebase, cname, 256);
|
||||
bn = basename(filebase);
|
||||
|
||||
fp = fopen(filename,"w+");
|
||||
if (fp == NULL) {
|
||||
|
@ -62,7 +67,7 @@ static int write_cfile(const unsigned char* buf, off_t len, const char* cname)
|
|||
}
|
||||
|
||||
fprintf(fp,"/* Generated by bin2c */\n\n");
|
||||
fprintf(fp,"unsigned char %s[] = {",cname);
|
||||
fprintf(fp,"unsigned char %s[] = {",bn);
|
||||
|
||||
for (i=0;i<len;i++) {
|
||||
if ((i % 16) == 0) {
|
||||
|
@ -83,9 +88,13 @@ static int write_cfile(const unsigned char* buf, off_t len, const char* cname)
|
|||
static int write_hfile(off_t len, const char* cname)
|
||||
{
|
||||
char filename[256];
|
||||
char filebase[256];
|
||||
char* bn;
|
||||
FILE* fp;
|
||||
|
||||
snprintf(filename,256,"%s.h",cname);
|
||||
strncpy(filebase, cname, 256);
|
||||
bn = basename(filebase);
|
||||
fp = fopen(filename,"w+");
|
||||
if (fp == NULL) {
|
||||
fprintf(stderr,"Couldn't open %s\n",filename);
|
||||
|
@ -93,8 +102,8 @@ static int write_hfile(off_t len, const char* cname)
|
|||
}
|
||||
|
||||
fprintf(fp,"/* Generated by bin2c */\n\n");
|
||||
fprintf(fp,"#define LEN_%s %d\n",cname,(int)len);
|
||||
fprintf(fp,"extern unsigned char %s[];\n",cname);
|
||||
fprintf(fp,"#define LEN_%s %d\n",bn,(int)len);
|
||||
fprintf(fp,"extern unsigned char %s[];\n",bn);
|
||||
fclose(fp);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue