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>
diff --git a/tools/easylogo/Makefile b/tools/easylogo/Makefile
index 292344a..566b125 100644
--- a/tools/easylogo/Makefile
+++ b/tools/easylogo/Makefile
@@ -1,2 +1,8 @@
-all: easylogo.c
- gcc easylogo.c -o easylogo
+CFLAGS += -Wall
+
+all: easylogo
+
+clean:
+ rm -f easylogo *.o
+
+.PHONY: all clean
diff --git a/tools/easylogo/easylogo.c b/tools/easylogo/easylogo.c
index 9f1d1ff..59f9ae7 100644
--- a/tools/easylogo/easylogo.c
+++ b/tools/easylogo/easylogo.c
@@ -8,6 +8,8 @@
*/
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#pragma pack(1)
@@ -41,7 +43,7 @@
} yuyv_t ;
typedef struct {
- unsigned char *data,
+ void *data,
*palette ;
int width,
height,
@@ -352,9 +354,10 @@
strcpy (varname, argv[2]);
else
{
- int pos = strchr(inputfile, '.');
+ char *dot = strchr(inputfile, '.');
+ int pos = dot - inputfile;
- if (pos >= 0)
+ if (dot)
{
strncpy (varname, inputfile, pos);
varname[pos] = 0 ;
@@ -365,13 +368,15 @@
strcpy (outputfile, argv[3]);
else
{
- int pos = strchr (varname, '.');
+ char *dot = strchr (varname, '.');
+ int pos = dot - varname;
- if (pos > 0)
+ if (dot)
{
char app[DEF_FILELEN] ;
strncpy(app, varname, pos);
+ app[pos] = 0;
sprintf(outputfile, "%s.h", app);
}
}