🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Alexander Dupuy Thu, 31 Aug 1989 20:34
ranlib port to USG
#393
Author: Alexander Dupuy
Date: Thu, 31 Aug 1989 20:34
122 lines
3337 bytes
The ranlib provided in the binutils distribution of Mar 10 1989 does not
compile on USG systems.  The context diff attached contains the changes to make
it compile on USG systems.

@alex

*** /tmp/,RCSt1a13605	Thu Aug 31 16:30:47 1989
--- ranlib.c	Thu Aug 31 16:17:40 1989
***************
*** 2,11 ****
     `ar rs LIBRARY' for each library specified.  */
  
  #include <ar.h>
- #include <sys/time.h>
- #include <sys/file.h>
  #include <stdio.h>
  
  void touch_symdefs ();
  
  /* The makefile generates a -D switch to define AR_PROG
--- 2,18 ----
     `ar rs LIBRARY' for each library specified.  */
  
  #include <ar.h>
  #include <stdio.h>
  
+ #ifdef USG
+ #include <time.h>
+ #include <fcntl.h>
+ #define bzero(p,n) memset(p,0,n)
+ #else
+ #include <sys/file.h>
+ #include <sys/time.h>
+ #endif
+ 
  void touch_symdefs ();
  
  /* The makefile generates a -D switch to define AR_PROG
***************
*** 46,57 ****
       int largc;
       char **largv;
  {
!   struct timeval tv;
!   struct timezone tz;
    struct ar_hdr archive_header;
    int i, rr;
  
!   gettimeofday (&tv, &tz);
  
    while (largc--)
      {
--- 53,63 ----
       int largc;
       char **largv;
  {
!   long tv;
    struct ar_hdr archive_header;
    int i, rr;
  
!   time (&tv);
  
    while (largc--)
      {
***************
*** 65,71 ****
  	  continue;
  	}
  
!       lseek (fd, SARMAG, L_SET);
  
        rr = read (fd, &archive_header, sizeof (archive_header));
  
--- 71,77 ----
  	  continue;
  	}
  
!       lseek (fd, SARMAG, 0);
  
        rr = read (fd, &archive_header, sizeof (archive_header));
  
***************
*** 81,99 ****
  	      bzero ((char *) archive_header.ar_date,
  		     sizeof (archive_header.ar_date));
  
! 	      sprintf (archive_header.ar_date, "%d", tv.tv_sec);
  	      
  	      for (i = 0; i < sizeof archive_header.ar_date; i++)
  		if (archive_header.ar_date[i] == '\0')
  		  archive_header.ar_date[i] = ' ';
  
! 	      lseek (fd, - rr, L_INCR);
  	      write (fd, &archive_header, sizeof (archive_header));
  	      close (fd);
  	      break;
  	    }
  
! 	  lseek (fd, atoi (archive_header.ar_size), L_INCR);
  	  rr = read (fd, &archive_header, sizeof (archive_header));
  	}
  
--- 87,105 ----
  	      bzero ((char *) archive_header.ar_date,
  		     sizeof (archive_header.ar_date));
  
! 	      sprintf (archive_header.ar_date, "%d", tv);
  	      
  	      for (i = 0; i < sizeof archive_header.ar_date; i++)
  		if (archive_header.ar_date[i] == '\0')
  		  archive_header.ar_date[i] = ' ';
  
! 	      lseek (fd, - rr, 1);
  	      write (fd, &archive_header, sizeof (archive_header));
  	      close (fd);
  	      break;
  	    }
  
! 	  lseek (fd, atoi (archive_header.ar_size), 1);
  	  rr = read (fd, &archive_header, sizeof (archive_header));
  	}
  
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads