From: Steve Chamberlain Date: Wed, 15 Apr 1992 22:12:06 +0000 (+0000) Subject: Added EXTRACT command X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b7311408af78f016a0a1d440c11f79bb60c9402e;p=binutils-gdb.git Added EXTRACT command --- diff --git a/binutils/arsup.c b/binutils/arsup.c index ee7e4e9b2b5..59f64358a5f 100644 --- a/binutils/arsup.c +++ b/binutils/arsup.c @@ -380,3 +380,41 @@ DEFUN_VOID(ar_list) } } } + + +void +DEFUN(ar_extract,(list), + struct list *list) +{ + if (!obfd) + { + + fprintf(stderr, "%s: no open archive\n", program_name); + maybequit(); + } + else + { + while (list) { + /* Find this name in the archive */ + bfd *member = obfd->archive_head; + int found = 0; + while (member && !found) + { + if (strcmp(member->filename, list->name) == 0) + { + extract_file(member); + found = 1; + } + + member = member->next; + } + if (!found) { + bfd *abfd = bfd_openr(list->name, 0); + fprintf(stderr,"%s: can't find module file %s\n", program_name, + list->name); + + } + list = list->next; + } + } +}