/* arsup.c - Archive support for MRI compatibility
- Copyright 1992, 1994, 1995, 1996, 1997, 2000, 2002
+ Copyright 1992, 1994, 1995, 1996, 1997, 2000, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GNU Binutils.
#include "filenames.h"
static void map_over_list
- PARAMS ((bfd *, void (*function) (bfd *, bfd *), struct list *));
-static void ar_directory_doer PARAMS ((bfd *, bfd *));
-static void ar_addlib_doer PARAMS ((bfd *, bfd *));
+ (bfd *, void (*function) (bfd *, bfd *), struct list *);
+static void ar_directory_doer (bfd *, bfd *);
+static void ar_addlib_doer (bfd *, bfd *);
extern int verbose;
static void
-map_over_list (arch, function, list)
- bfd *arch;
- void (*function) PARAMS ((bfd *, bfd *));
- struct list *list;
+map_over_list (bfd *arch, void (*function) (bfd *, bfd *), struct list *list)
{
bfd *head;
want to hack multiple references. */
for (ptr = list; ptr; ptr = ptr->next)
{
- boolean found = false;
+ bfd_boolean found = FALSE;
bfd *prev = arch;
for (head = arch->next; head; head = head->next)
if (head->filename != NULL
&& FILENAME_CMP (ptr->name, head->filename) == 0)
{
- found = true;
+ found = TRUE;
function (head, prev);
}
prev = head;
FILE *outfile;
static void
-ar_directory_doer (abfd, ignore)
- bfd *abfd;
- bfd *ignore ATTRIBUTE_UNUSED;
+ar_directory_doer (bfd *abfd, bfd *ignore ATTRIBUTE_UNUSED)
{
print_arelt_descr(outfile, abfd, verbose);
}
void
-ar_directory (ar_name, list, output)
- char *ar_name;
- struct list *list;
- char *output;
+ar_directory (char *ar_name, struct list *list, char *output)
{
bfd *arch;
}
void
-DEFUN_VOID(prompt)
+prompt (void)
{
extern int interactive;
}
void
-maybequit ()
+maybequit (void)
{
if (! interactive)
xexit (9);
char *real_name;
void
-ar_open (name, t)
- char *name;
- int t;
+ar_open (char *name, int t)
{
char *tname = (char *) xmalloc (strlen (name) + 10);
const char *bname = lbasename (name);
return;
}
- if (bfd_check_format(ibfd, bfd_archive) != true)
+ if (!bfd_check_format(ibfd, bfd_archive))
{
fprintf (stderr,
_("%s: file %s is not an archive\n"),
}
static void
-ar_addlib_doer (abfd, prev)
- bfd *abfd;
- bfd *prev;
+ar_addlib_doer (bfd *abfd, bfd *prev)
{
/* Add this module to the output bfd. */
if (prev != NULL)
}
void
-ar_addlib (name, list)
- char *name;
- struct list *list;
+ar_addlib (char *name, struct list *list)
{
if (obfd == NULL)
{
if (arch != NULL)
map_over_list (arch, ar_addlib_doer, list);
- /* Don't close the bfd, since it will make the elements disasppear. */
+ /* Don't close the bfd, since it will make the elements disappear. */
}
}
void
-ar_addmod (list)
- struct list *list;
+ar_addmod (struct list *list)
{
if (!obfd)
{
void
-ar_clear ()
+ar_clear (void)
{
if (obfd)
obfd->archive_head = 0;
}
void
-ar_delete (list)
- struct list *list;
+ar_delete (struct list *list)
{
if (!obfd)
{
}
void
-ar_save ()
+ar_save (void)
{
if (!obfd)
{
bfd_close (obfd);
- rename (ofilename, real_name);
+ smart_rename (ofilename, real_name, 0);
obfd = 0;
free (ofilename);
}
}
void
-ar_replace (list)
- struct list *list;
+ar_replace (struct list *list)
{
if (!obfd)
{
/* And I added this one. */
void
-ar_list ()
+ar_list (void)
{
if (!obfd)
{
}
void
-ar_end ()
+ar_end (void)
{
if (obfd)
{
- fclose ((FILE *)(obfd->iostream));
+ bfd_cache_close (obfd);
unlink (bfd_get_filename (obfd));
}
}
void
-ar_extract (list)
- struct list *list;
+ar_extract (struct list *list)
{
if (!obfd)
{