- if (!obfd) {
- fprintf(stderr, _("%s: no open output archive\n"), program_name);
- maybequit();
- }
- else
- {
- while (list) {
- /* Find this name in the archive */
- bfd *member = obfd->archive_head;
- bfd **prev = &(obfd->archive_head);
- int found = 0;
- while (member)
- {
- if (strcmp(member->filename, list->name) == 0)
- {
- /* Found the one to replace */
- bfd *abfd = bfd_openr(list->name, 0);
- if (!abfd)
- {
- fprintf(stderr, _("%s: can't open file %s\n"), program_name, list->name);
- maybequit();
- }
- else {
- *prev = abfd;
- abfd->next = member->next;
- found = 1;
- }
- }
- else {
- prev = &(member->next);
- }
- 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);
- if (!abfd)
- {
- fprintf(stderr, _("%s: can't open file %s\n"), program_name, list->name);
- maybequit();
- }
- else