Lines Matching refs:bsdar

92 static void	set_mode(struct bsdar *bsdar, char opt);
93 static void only_mode(struct bsdar *bsdar, const char *opt,
100 struct bsdar *bsdar, bsdar_storage; in main() local
105 bsdar = &bsdar_storage; in main()
106 memset(bsdar, 0, sizeof(*bsdar)); in main()
110 bsdar->output = stdout; in main()
112 if ((bsdar->progname = ELFTC_GETPROGNAME()) == NULL) in main()
113 bsdar->progname = "ar"; in main()
116 bsdar_errc(bsdar, 0, "ELF library initialization failed: %s", in main()
124 len = strlen(bsdar->progname); in main()
126 strcmp(bsdar->progname + len - strlen("ranlib"), "ranlib") == 0) { in main()
134 bsdar->options |= AR_D; in main()
137 bsdar->options &= ~AR_D; in main()
154 bsdar->options |= AR_S; in main()
155 while ((bsdar->filename = *argv++) != NULL) in main()
156 exitcode |= ar_write_archive(bsdar, 's'); in main()
170 bsdar_errc(bsdar, errno, "malloc failed"); in main()
180 bsdar->options |= AR_A; in main()
184 bsdar->options |= AR_B; in main()
187 bsdar->options |= AR_CC; in main()
190 bsdar->options |= AR_C; in main()
193 set_mode(bsdar, opt); in main()
196 bsdar->options |= AR_D; in main()
201 bsdar->options &= ~AR_BSD; in main()
203 bsdar->options |= AR_BSD; in main()
209 bsdar->options |= AR_TR; in main()
218 set_mode(bsdar, opt); in main()
221 set_mode(bsdar, opt); in main()
224 bsdar->options |= AR_O; in main()
227 set_mode(bsdar, opt); in main()
230 set_mode(bsdar, opt); in main()
233 set_mode(bsdar, opt); in main()
236 bsdar->options |= AR_SS; in main()
239 bsdar->options |= AR_S; in main()
242 set_mode(bsdar, opt); in main()
245 bsdar->options &= ~AR_D; in main()
248 bsdar->options |= AR_U; in main()
254 bsdar->options |= AR_V; in main()
257 set_mode(bsdar, opt); in main()
279 if (*argv == NULL && bsdar->mode != 'M') in main()
282 if (bsdar->options & AR_A && bsdar->options & AR_B) in main()
283 bsdar_errc(bsdar, 0, in main()
286 if (bsdar->options & AR_J && bsdar->options & AR_Z) in main()
287 bsdar_errc(bsdar, 0, in main()
290 if (bsdar->options & AR_S && bsdar->options & AR_SS) in main()
291 bsdar_errc(bsdar, 0, in main()
294 if (bsdar->options & (AR_A | AR_B)) { in main()
296 bsdar_errc(bsdar, 0, in main()
298 if ((bsdar->posarg = basename(*argv)) == NULL) in main()
299 bsdar_errc(bsdar, errno, in main()
305 if (bsdar->options & AR_A) in main()
306 only_mode(bsdar, "-a", "mqr"); in main()
307 if (bsdar->options & AR_B) in main()
308 only_mode(bsdar, "-b", "mqr"); in main()
309 if (bsdar->options & AR_C) in main()
310 only_mode(bsdar, "-c", "qr"); in main()
311 if (bsdar->options & AR_CC) in main()
312 only_mode(bsdar, "-C", "x"); in main()
313 if (bsdar->options & AR_D) in main()
314 only_mode(bsdar, "-D", "qr"); in main()
315 if (bsdar->options & AR_O) in main()
316 only_mode(bsdar, "-o", "x"); in main()
317 if (bsdar->options & AR_SS) in main()
318 only_mode(bsdar, "-S", "mqr"); in main()
319 if (bsdar->options & AR_U) in main()
320 only_mode(bsdar, "-u", "qrx"); in main()
322 if (bsdar->mode == 'M') { in main()
323 ar_mode_script(bsdar); in main()
327 if ((bsdar->filename = *argv) == NULL) in main()
330 bsdar->argc = --argc; in main()
331 bsdar->argv = ++argv; in main()
333 if ((!bsdar->mode || strchr("ptx", bsdar->mode)) && in main()
334 bsdar->options & AR_S) { in main()
335 exitcode = ar_write_archive(bsdar, 's'); in main()
336 if (!bsdar->mode) in main()
340 switch(bsdar->mode) { in main()
342 exitcode = ar_write_archive(bsdar, bsdar->mode); in main()
346 exitcode = ar_read_archive(bsdar, bsdar->mode); in main()
353 for (i = 0; i < bsdar->argc; i++) { in main()
354 if (bsdar->argv[i] != NULL) { in main()
355 bsdar_warnc(bsdar, 0, "%s: not found in archive", in main()
356 bsdar->argv[i]); in main()
365 set_mode(struct bsdar *bsdar, char opt) in set_mode() argument
368 if (bsdar->mode != '\0' && bsdar->mode != opt) in set_mode()
369 bsdar_errc(bsdar, 0, "Can't specify both -%c and -%c", in set_mode()
370 opt, bsdar->mode); in set_mode()
371 bsdar->mode = opt; in set_mode()
375 only_mode(struct bsdar *bsdar, const char *opt, const char *valid_modes) in only_mode() argument
378 if (strchr(valid_modes, bsdar->mode) == NULL) in only_mode()
379 bsdar_errc(bsdar, 0, "Option %s is not permitted in mode -%c", in only_mode()
380 opt, bsdar->mode); in only_mode()