diff --git a/apps/language.c b/apps/language.c index 73ed0fe39b..bba1359616 100644 --- a/apps/language.c +++ b/apps/language.c @@ -31,10 +31,12 @@ language! */ #include "max_language_size.h" -/* both these must match the two initial bytes in the binary lang file */ -#define LANGUAGE_COOKIE 0x1a -#define LANGUAGE_VERSION 0x04 +/* These defines must match the initial bytes in the binary lang file */ +/* See tools/genlang (TODO: Use common include for both) */ +#define LANGUAGE_COOKIE 0x1a +#define LANGUAGE_VERSION 0x04 +#define HEADER_SIZE 3 static unsigned char language_buffer[MAX_LANGUAGE_SIZE]; @@ -54,12 +56,12 @@ int lang_load(const char *filename) int fsize; int fd = open(filename, O_RDONLY); int retcode=0; - unsigned char lang_header[3]; + unsigned char lang_header[HEADER_SIZE]; if(fd < 0) return 1; - fsize = filesize(fd) - 2; + fsize = filesize(fd) - HEADER_SIZE; if(fsize <= MAX_LANGUAGE_SIZE) { - read(fd, lang_header, 3); + read(fd, lang_header, HEADER_SIZE); if((lang_header[0] == LANGUAGE_COOKIE) && (lang_header[1] == LANGUAGE_VERSION) && (lang_header[2] == TARGET_ID)) { diff --git a/tools/genlang b/tools/genlang index 45171290d6..cedd052839 100755 --- a/tools/genlang +++ b/tools/genlang @@ -10,8 +10,10 @@ # Copyright (C) 2006 - 2008 by Daniel Stenberg # -# binary version for the binary lang file -my $langversion = 4; # 3 was the latest one used in the v1 format +# See apps/language.c (TODO: Use common include for both) +# Cookie and binary version for the binary lang file +my $LANGUAGE_COOKIE = 0x1a; +my $LANGUAGE_VERSION = 0x04; # A note for future users and readers: The original v1 language system allowed # the build to create and use a different language than english built-in. We @@ -26,7 +28,7 @@ my %user2num = if(!$ARGV[0]) { print < +Usage: genlang [options] -p= Make the tool create a [prefix].c and [prefix].h file. @@ -659,7 +661,7 @@ elsif($binary) { open(OUTF, ">$binary") or die "Error: Can't create $binary"; binmode OUTF; - printf OUTF ("\x1a%c%c", $langversion, $target_id); # magic lang file header + printf OUTF ("%c%c%c", $LANGUAGE_COOKIE, $LANGUAGE_VERSION, $target_id); # magic lang file header # loop over the target phrases for $i (1 .. $idcount) {