URI:
       ranlib: Use offset to member headers - scc - simple c99 compiler
  HTML git clone git://git.simple-cc.org/scc
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 5cdbd266c31962ec9ebcef0415d2f104b209cddb
   DIR parent c1e1df2ac4a400eae9b97a01106a95cc927f83db
  HTML Author: Roberto E. Vargas Caballero <k0ga@shike2.net>
       Date:   Fri,  8 May 2026 19:08:59 +0200
       
       ranlib: Use offset to member headers
       
       We were generating an index table of pointers to the content of
       the object files, but ld expects the pointers to the ar headers
       which contain required information like the size of the object
       file.
       
       Diffstat:
         M src/cmd/scc-ranlib.c                |      11 +++--------
       
       1 file changed, 3 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/src/cmd/scc-ranlib.c b/src/cmd/scc-ranlib.c
       @@ -133,18 +133,13 @@ freehash(void)
        }
        
        static int
       -newmember(FILE *fp)
       +newmember(FILE *fp, long off)
        {
                int i,t, ret = 0;
                Obj *obj;
                Symbol sym;
        
       -        offset = ftell(fp);
       -
       -        if (offset == EOF) {
       -                error(strerror(errno));
       -                return 0;
       -        }
       +        offset = off;
        
                t = objprobe(fp, NULL);
                if (t == -1 || artype != -1 && artype != t) {
       @@ -210,7 +205,7 @@ readsyms(FILE *fp)
                        default:
                                membname = memb;
                                if (objprobe(fp, NULL) != -1)
       -                                newmember(fp);
       +                                newmember(fp, cur);
                                membname = NULL;
                                fseek(fp, cur, SEEK_SET);
                                fseek(fp, off, SEEK_CUR);