
linux/string.h is not a valid include outside of the kernel, so when compiling sha1.c for the host (for use with the `mkimage` host binary), the include needs to be changed to string.h.
Signed-Off-By: Mike Frysinger vapier@gentoo.org --- diff --git a/lib_generic/sha1.c b/lib_generic/sha1.c index 08ffa6b..d04cba7 100644 --- a/lib_generic/sha1.c +++ b/lib_generic/sha1.c @@ -29,7 +29,11 @@ #define _CRT_SECURE_NO_DEPRECATE 1 #endif
+#ifndef USE_HOSTCC #include <linux/string.h> +#else +#include <string.h> +#endif #include "sha1.h"
/* 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..c69f012 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 @@ typedef struct { } yuyv_t ;
typedef struct { - unsigned char *data, + void *data, *palette ; int width, height, @@ -125,6 +127,16 @@ void printlogo_yuyv (unsigned short *data, int w, int h) } }
+static inline unsigned short le16_to_cpu (unsigned short val) +{ + union { + unsigned char pval[2]; + unsigned short val; + } swapped; + swapped.val = val; + return (swapped.pval[1] << 8) + swapped.pval[0]; +} + int image_load_tga (image_t *image, char *filename) { FILE *file ; @@ -138,6 +150,14 @@ int image_load_tga (image_t *image, char *filename)
fread(&header, sizeof(header), 1, file);
+ /* byte swap: tga is little endian, host is ??? */ + header.ColorMapOrigin = le16_to_cpu (header.ColorMapOrigin); + header.ColorMapLenght = le16_to_cpu (header.ColorMapLenght); + header.ImageXOrigin = le16_to_cpu (header.ImageXOrigin); + header.ImageYOrigin = le16_to_cpu (header.ImageYOrigin); + header.ImageWidth = le16_to_cpu (header.ImageWidth); + header.ImageHeight = le16_to_cpu (header.ImageHeight); + image->width = header.ImageWidth ; image->height = header.ImageHeight ;
@@ -352,9 +372,10 @@ int main (int argc, char *argv[]) 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 +386,15 @@ int main (int argc, char *argv[]) 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); } } @@ -389,6 +412,8 @@ int main (int argc, char *argv[]) return -1 ; }
+ setbuf(stdout, NULL); + printf("Doing '%s' (%s) from '%s'...", outputfile, varname, inputfile);