* asranlib/asranlib.c: fixed BSD header length calculation
authorborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 7 Feb 2009 13:26:25 +0000 (13:26 +0000)
committerborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 7 Feb 2009 13:26:25 +0000 (13:26 +0000)
* .version, doc/sdccman.lyx: bumped sdcc version to 2.8.8
  due sdcc asxxxx license change to GPLv3

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@5357 4a8a32a2-be11-0410-ad9d-d568d2c75423

.version
ChangeLog
as/asranlib/asranlib.c
doc/sdccman.lyx

index 80803faf1b96ed201acf49a09f26e2d23e4f5a54..d578041c4b8ffc8896d56601e75ee66118e660ca 100644 (file)
--- a/.version
+++ b/.version
@@ -1 +1 @@
-2.8.8
+2.8.9
index f3286f40e8033847b38a95b3996e97bcad579234..1a3b6043aebd5165888b73b69795ba4e06df1663 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-02-07 Borut Razem <borut.razem AT siol.net>
+
+       * asranlib/asranlib.c: fixed BSD header length calculation
+       * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.8
+         due sdcc asxxxx license change to GPLv3
+
 2009-02-05 Borut Razem <borut.razem AT siol.net>
 
        * asranlib/asranlib.c, link/lkar.h, link/lkar.c:
index ab13c6785b857739342ffda4c68af151f5d16f4d..42ee8eaab77754c0bda1532a3d9828e63e563115 100644 (file)
@@ -231,7 +231,7 @@ get_member_name_by_offset (FILE * fp, long offset)
 struct symbol_s
   {
     const char *name;
-    off_t offset;
+    size_t offset;
     struct symbol_s *next;
   };
 
@@ -481,9 +481,10 @@ int
 get_symbols (FILE * fp, const char *archive)
 {
   struct ar_hdr hdr;
+  size_t hdr_len;
   char *name;
 
-  if (!is_ar (fp) || !ar_get_header (&hdr, fp, &name))
+  if (!is_ar (fp) || !(hdr_len = ar_get_header (&hdr, fp, &name)))
     {
       fprintf (stderr, "asranlib: %s: File format not recognized\n", archive);
       exit (1);
@@ -494,7 +495,7 @@ get_symbols (FILE * fp, const char *archive)
       free (name);
 
       process_symbol_table (&hdr, fp);
-      if (!ar_get_header (&hdr, fp, (verbose || list) ? &name : NULL))
+      if (!(hdr_len = ar_get_header (&hdr, fp, (verbose || list) ? &name : NULL)))
         return 1;
     }
   else if (AR_IS_BSD_SYMBOL_TABLE (name))
@@ -502,11 +503,11 @@ get_symbols (FILE * fp, const char *archive)
       free (name);
 
       process_bsd_symbol_table (&hdr, fp);
-      if (!ar_get_header (&hdr, fp, (verbose || list) ? &name : NULL))
+      if (!(hdr_len = ar_get_header (&hdr, fp, (verbose || list) ? &name : NULL)))
         return 1;
     }
 
-  first_member_offset = ftell (fp) - ARHDR_LEN;
+  first_member_offset = ftell (fp) - hdr_len;
 
   /* walk trough all archive members */
   do
@@ -523,7 +524,7 @@ get_symbols (FILE * fp, const char *archive)
             {
               long mdule_offset = ftell (fp);
 
-              offset = mdule_offset - ARHDR_LEN;
+              offset = mdule_offset - hdr_len;
 
               enum_symbols (fp, hdr.ar_size, add_symbol, NULL);
 
index 6a2cc81e858345f76c63f6855e6572f6a11b3ae5..801cffb5ee50c7bece94800a704a90dee2e0189d 100644 (file)
@@ -114,7 +114,7 @@ SDCC Compiler User Guide
 \begin_layout Date
 
 \size normal
-SDCC 2.8.8
+SDCC 2.8.9
 \size footnotesize
 
 \newline