int main(int argc, const char *const *argv) { int uf; const char *badname; enum trigdef_updateflags tduf; setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); dpkg_set_progname("dpkg-trigger"); standard_startup(); myopt(&argv, cmdinfos, printforhelp); admindir = dpkg_db_set_dir(admindir); setvbuf(stdout, NULL, _IONBF, 0); if (f_check) { if (*argv) badusage(_("--%s takes no arguments"), "check-supported"); do_check(); } if (!*argv || argv[1]) badusage(_("takes one argument, the trigger name")); badname = parse_awaiter_package(); if (badname) ohshit(_("illegal awaited package name '%.250s': %.250s"), bypackage, badname); activate = argv[0]; badname = trig_name_is_illegal(activate); if (badname) badusage(_("invalid trigger name `%.250s': %.250s"), activate, badname); trigdef_set_methods(&tdm_add); tduf = tduf_nolockok; if (!f_noact) tduf |= tduf_write | tduf_writeifempty; uf = trigdef_update_start(tduf); if (uf >= 0) { trigdef_parse(); if (!done_trig) trigdef_update_printf("%s %s\n", activate, bypackage); trigdef_process_done(); } standard_shutdown(); return 0; }
static void test_trig_name_is_illegal(void) { /* Test invalid trigger names. */ test_fail(trig_name_is_illegal("") == NULL); test_fail(trig_name_is_illegal("\a") == NULL); test_fail(trig_name_is_illegal("\t") == NULL); test_fail(trig_name_is_illegal("\200") == NULL); test_fail(trig_name_is_illegal("trigger name") == NULL); /* Test valid trigger names. */ test_pass(trig_name_is_illegal("TRIGGER") == NULL); test_pass(trig_name_is_illegal("trigger") == NULL); test_pass(trig_name_is_illegal("0123456789") == NULL); test_pass(trig_name_is_illegal("/file/trigger") == NULL); }
int main(int argc, const char *const *argv) { const char *badname; enum trigdef_update_flags tduf; enum trigdef_update_status tdus; dpkg_locales_init(PACKAGE); dpkg_program_init("dpkg-trigger"); dpkg_options_parse(&argv, cmdinfos, printforhelp); admindir = dpkg_db_set_dir(admindir); if (f_check) { if (*argv) badusage(_("--%s takes no arguments"), "check-supported"); return do_check(); } if (!*argv || argv[1]) badusage(_("takes one argument, the trigger name")); badname = parse_awaiter_package(); if (badname) badusage(_("illegal awaited package name '%.250s': %.250s"), bypackage, badname); fsys_hash_init(); activate = argv[0]; badname = trig_name_is_illegal(activate); if (badname) badusage(_("invalid trigger name '%.250s': %.250s"), activate, badname); trigdef_set_methods(&tdm_add); tduf = TDUF_NO_LOCK_OK; if (!f_noact) tduf |= TDUF_WRITE | TDUF_WRITE_IF_EMPTY; tdus = trigdef_update_start(tduf); if (tdus >= 0) { trigdef_parse(); if (!done_trig) trigdef_update_printf("%s %s\n", activate, bypackage); trigdef_process_done(); } dpkg_program_done(); return 0; }
static void parse_ci_call(const char *file, const char *cmd, trig_parse_cicb *cb, const char *trig, void *user, enum trig_options opts) { const char *emsg; emsg = trig_name_is_illegal(trig); if (emsg) ohshit(_("triggers ci file `%.250s' contains illegal trigger " "syntax in trigger name `%.250s': %.250s"), file, trig, emsg); if (cb) cb(trig, user, opts); }
static void parse_ci_call(const char *file, const char *cmd, trig_parse_cicb *cb, const char *trig, struct pkginfo *pkg, struct pkgbin *pkgbin, enum trig_options opts) { const char *emsg; emsg = trig_name_is_illegal(trig); if (emsg) ohshit(_("triggers ci file '%.250s' contains illegal trigger " "syntax in trigger name '%.250s': %.250s"), file, trig, emsg); if (cb) cb(trig, pkg, pkgbin, opts); }