+--- ar/archive.c 30 Apr 2002 07:37:17 -0000 1.1.1.1
++++ ar/archive.c 8 Sep 2003 01:51:24 -0000
+@@ -69,6 +69,7 @@
+
+ #include <sys/param.h>
+ #include <sys/stat.h>
++#include <stuff/ofile.h>
+
+ #include <ar.h>
+ #include <dirent.h>
+@@ -86,7 +87,7 @@
+ #include "extern.h"
+
+ typedef struct ar_hdr HDR;
+-static char hb[sizeof(HDR) + 1]; /* real header */
++static char hb[61]; /* real header */
+
+ int
+ open_archive(mode)
+@@ -262,30 +263,40 @@
+ */
+ lname = strlen(name);
+ if (options & AR_TR) {
++ char buf[16];
++ int i;
++ for(i=0; i<15; i++) buf[i] = ' ';
++ buf[15] = '\0';
+ if (lname > OLDARMAXNAME) {
+ (void)fflush(stdout);
+ warnx("warning: %s truncated to %.*s",
+ name, OLDARMAXNAME, name);
+ (void)fflush(stderr);
+ }
+- (void)sprintf(hb, HDR3, name, (long int)sb->st_mtimespec.tv_sec,
++ strncpy(buf, name, 15);
++ (void)sprintf(hb, HDR3, buf, (long int)sb->st_mtime,
+ (unsigned int)(u_short)sb->st_uid,
+ (unsigned int)(u_short)sb->st_gid,
+- sb->st_mode, sb->st_size, ARFMAG);
++ sb->st_mode, (long long)sb->st_size, ARFMAG);
+ lname = 0;
+- } else if (lname > sizeof(hdr->ar_name) || strchr(name, ' '))
++ } else if (lname > sizeof(hdr->ar_name) || strchr(name, ' ')) {
+ (void)sprintf(hb, HDR1, AR_EFMT1, (lname + 3) & ~3,
+- (long int)sb->st_mtimespec.tv_sec,
++ (long int)sb->st_mtime,
+ (unsigned int)(u_short)sb->st_uid,
+ (unsigned int)(u_short)sb->st_gid,
+- sb->st_mode, sb->st_size + ((lname + 3) & ~3),
++ sb->st_mode, (long long)(sb->st_size + ((lname + 3) & ~3)),
+ ARFMAG);
+- else {
++} else {
++ char buf[17];
++ int i;
++ for(i=0; i<16; i++) buf[i] = ' ';
++ buf[16] = '\0';
++ strncpy(buf, name, 16);
+ lname = 0;
+- (void)sprintf(hb, HDR2, name, (long int)sb->st_mtimespec.tv_sec,
++ (void)sprintf(hb, HDR2, buf, (long int)sb->st_mtime,
+ (unsigned int)(u_short)sb->st_uid,
+ (unsigned int)(u_short)sb->st_gid,
+- sb->st_mode, sb->st_size, ARFMAG);
++ sb->st_mode, (long long)sb->st_size, ARFMAG);
+ }
+ size = sb->st_size;
+ } else {
+--- misc/libtool.c Wed Apr 23 15:44:51 2003
++++ misc/libtool.c Sun Sep 7 18:58:16 2003
+@@ -2177,14 +2177,15 @@
+
+ strcpy(message_buf, message);
+ strcat(message_buf, arch_name);
+-
++ /*
+ make_alert(ProjectBuilder_port,
+ -1,
+- NULL, 0, /* functionName, not used by ProjectBuilder */
++ NULL, 0,
+ fileName, strlen(fileName)+1 > 1024 ? 1024 : strlen(fileName)+1,
+ NULL, 0,
+ 0,
+ message_buf, strlen(message_buf) + 1);
++*/
+ }
+
+ /*