From: andreast Date: Wed, 7 Jan 2004 18:46:04 +0000 (+0000) Subject: 2004-01-07 Andreas Tobler X-Git-Tag: upstream/4.9.2~74233 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=91e36ca786d5308629e6254cb6e63ae43f1d1e87;p=platform%2Fupstream%2Flinaro-gcc.git 2004-01-07 Andreas Tobler * jartool.c (make_manifest): Fix off-by-one bug when creating an empty MANIFEST.MF. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75511 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/fastjar/ChangeLog b/fastjar/ChangeLog index 648a9b6..898d733 100644 --- a/fastjar/ChangeLog +++ b/fastjar/ChangeLog @@ -1,3 +1,8 @@ +2004-01-07 Andreas Tobler + + * jartool.c (make_manifest): Fix off-by-one bug when creating + an empty MANIFEST.MF. + 2003-12-01 Kelley Cook * Makefile.am: Define AM_MAKINFOFLAGS. Remove Automake 1.4 hack. diff --git a/fastjar/jartool.c b/fastjar/jartool.c index 83454d2..59e7176 100644 --- a/fastjar/jartool.c +++ b/fastjar/jartool.c @@ -313,6 +313,11 @@ int number_of_entries; /* number of entries in the linked list */ /* This holds all options. */ #define OPTION_STRING "-ctxuvVf:m:C:0ME@" +/* Define the MANIFEST content here to have it easier with calculations + below. This is for the case we create an empty MANIFEST.MF. */ +#define MANIFEST_STR "Manifest-Version: 1.0\nCreated-By: " +#define MANIFEST_END "\n\n" + static const struct option options[] = { { "help", no_argument, NULL, OPT_HELP }, @@ -732,13 +737,14 @@ int make_manifest(int jfd, const char *mf_name){ /* if the user didn't specify an external manifest file... */ if(mf_name == NULL){ - int mf_len = 37 + strlen(VERSION); + + int mf_len = strlen(MANIFEST_STR) + strlen(VERSION) + strlen(MANIFEST_END); char *mf; if((mf = (char *) malloc(mf_len + 1))) { uLong crc; - sprintf(mf, "Manifest-Version: 1.0\nCreated-By: %s\n\n", VERSION); + sprintf(mf, "%s%s%s", MANIFEST_STR, VERSION, MANIFEST_END); crc = crc32(0L, Z_NULL, 0);