cleanup easylogo

- make the Makefile not suck
- include proper headers for prototypes
- fix obvious broken handling of strchr() when handling '.' in filenames

Signed-Off-By: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Mike Frysinger 2007-12-18 03:23:25 -05:00 committed by Wolfgang Denk
parent 883e3925d9
commit 38d299c2db
2 changed files with 18 additions and 7 deletions

View File

@ -1,2 +1,8 @@
all: easylogo.c CFLAGS += -Wall
gcc easylogo.c -o easylogo
all: easylogo
clean:
rm -f easylogo *.o
.PHONY: all clean

View File

@ -8,6 +8,8 @@
*/ */
#include <stdio.h> #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#pragma pack(1) #pragma pack(1)
@ -41,7 +43,7 @@ typedef struct {
} yuyv_t ; } yuyv_t ;
typedef struct { typedef struct {
unsigned char *data, void *data,
*palette ; *palette ;
int width, int width,
height, height,
@ -352,9 +354,10 @@ int main (int argc, char *argv[])
strcpy (varname, argv[2]); strcpy (varname, argv[2]);
else else
{ {
int pos = strchr(inputfile, '.'); char *dot = strchr(inputfile, '.');
int pos = dot - inputfile;
if (pos >= 0) if (dot)
{ {
strncpy (varname, inputfile, pos); strncpy (varname, inputfile, pos);
varname[pos] = 0 ; varname[pos] = 0 ;
@ -365,13 +368,15 @@ int main (int argc, char *argv[])
strcpy (outputfile, argv[3]); strcpy (outputfile, argv[3]);
else else
{ {
int pos = strchr (varname, '.'); char *dot = strchr (varname, '.');
int pos = dot - varname;
if (pos > 0) if (dot)
{ {
char app[DEF_FILELEN] ; char app[DEF_FILELEN] ;
strncpy(app, varname, pos); strncpy(app, varname, pos);
app[pos] = 0;
sprintf(outputfile, "%s.h", app); sprintf(outputfile, "%s.h", app);
} }
} }