/* * remove displayname */ static int do_remove(char *inputfilename, int lineno, int argc, char **argv) { int nremoved = 0; int errors; if (argc < 2) { prefix (inputfilename, lineno); badcommandline (argv[0]); return 1; } errors = iterdpy (inputfilename, lineno, 1, argc, argv, remove_entry, NULL, (char *) &nremoved); if (verbose) printf ("%d entries removed\n", nremoved); return errors; }
/* * list [displayname ...] */ static int do_list (const char *inputfilename, int lineno, int argc, const char **argv) { struct _list_data ld; ld.fp = stdout; ld.numeric = (argv[0][0] == 'n'); if (argc == 1) { register AuthList *l; if (xauth_head) { for (l = xauth_head; l; l = l->next) { dump_entry (inputfilename, lineno, l->auth, (char *) &ld); } } return 0; } return iterdpy (inputfilename, lineno, 1, argc, argv, dump_entry, NULL, (char *) &ld); }
/* * extract filename displayname [displayname ...] */ static int do_extract(const char *inputfilename, int lineno, int argc, const char **argv) { int errors; struct _extract_data ed; if (argc < 3) { prefix (inputfilename, lineno); badcommandline (argv[0]); return 1; } ed.fp = NULL; ed.filename = argv[1]; ed.used_stdout = False; ed.numeric = (argv[0][0] == 'n'); ed.nwritten = 0; ed.cmd = argv[0]; errors = iterdpy (inputfilename, lineno, 2, argc, argv, extract_entry, NULL, (char *) &ed); if (!ed.fp) { fprintf (stderr, "No matches found, authority file \"%s\" not written\n", ed.filename); } else { if (verbose) { printf ("%d entries written to \"%s\"\n", ed.nwritten, ed.filename); } if (!ed.used_stdout) { (void) fclose (ed.fp); } } return errors; }