-#if 0
-
-/* We don't use this anymore. Too many systems expect ar to rebuild
- the symbol table even when q is used. */
-
-/* Just do it quickly; don't worry about dups, armap, or anything like that */
-
-static void
-do_quick_append (const char *archive_filename, char **files_to_append)
-{
- FILE *ofile, *ifile;
- char *buf = xmalloc (BUFSIZE);
- long tocopy, thistime;
- bfd *temp;
- struct stat sbuf;
- bfd_boolean newfile = FALSE;
- bfd_set_error (bfd_error_no_error);
-
- if (stat (archive_filename, &sbuf) != 0)
- {
-
-#if !defined(__GO32__) || defined(__DJGPP__)
-
- /* FIXME: I don't understand why this fragment was ifndef'ed
- away for __GO32__; perhaps it was in the days of DJGPP v1.x.
- stat() works just fine in v2.x, so I think this should be
- removed. For now, I enable it for DJGPP v2.
-
- (And yes, I know this is all unused, but somebody, someday,
- might wish to resurrect this again... -- EZ. */
-
-/* KLUDGE ALERT! Temporary fix until I figger why
- stat() is wrong ... think it's buried in GO32's IDT - Jax */
-
- if (errno != ENOENT)
- bfd_fatal (archive_filename);
-#endif
-
- newfile = TRUE;
- }
-
- ofile = fopen (archive_filename, FOPEN_AUB);
- if (ofile == NULL)
- {
- perror (program_name);
- xexit (1);
- }
-
- temp = bfd_openr (archive_filename, NULL);
- if (temp == NULL)
- {
- bfd_fatal (archive_filename);
- }
- if (!newfile)
- {
- if (!bfd_check_format (temp, bfd_archive))
- /* xgettext:c-format */
- fatal (_("%s is not an archive"), archive_filename);
- }
- else
- {
- fwrite (ARMAG, 1, SARMAG, ofile);
- if (!silent_create)
- /* xgettext:c-format */
- non_fatal (_("creating %s"), archive_filename);
- }
-
- if (ar_truncate)
- temp->flags |= BFD_TRADITIONAL_FORMAT;
-
- /* assume it's an archive, go straight to the end, sans $200 */
- fseek (ofile, 0, 2);
-
- for (; files_to_append && *files_to_append; ++files_to_append)
- {
- struct ar_hdr *hdr = bfd_special_undocumented_glue (temp, *files_to_append);
- if (hdr == NULL)
- {
- bfd_fatal (*files_to_append);
- }
-
- BFD_SEND (temp, _bfd_truncate_arname, (temp, *files_to_append, (char *) hdr));
-
- ifile = fopen (*files_to_append, FOPEN_RB);
- if (ifile == NULL)
- {
- bfd_nonfatal (*files_to_append);
- }
-
- if (stat (*files_to_append, &sbuf) != 0)
- {
- bfd_nonfatal (*files_to_append);
- }
-
- tocopy = sbuf.st_size;
-
- /* XXX should do error-checking! */
- fwrite (hdr, 1, sizeof (struct ar_hdr), ofile);
-
- while (tocopy > 0)
- {
- thistime = tocopy;
- if (thistime > BUFSIZE)
- thistime = BUFSIZE;
- fread (buf, 1, thistime, ifile);
- fwrite (buf, 1, thistime, ofile);
- tocopy -= thistime;
- }
- fclose (ifile);
- if ((sbuf.st_size % 2) == 1)
- putc ('\012', ofile);
- }
- fclose (ofile);
- bfd_close (temp);
- free (buf);
-}
-
-#endif /* 0 */
-