/ src / triggers.c
triggers.c
 1  /*-
 2   * Copyright (c) 2021 Baptiste Daroussin <bapt@FreeBSD.org>
 3   * 
 4   * Redistribution and use in source and binary forms, with or without
 5   * modification, are permitted provided that the following conditions
 6   * are met:
 7   * 1. Redistributions of source code must retain the above copyright
 8   *    notice, this list of conditions and the following disclaimer
 9   *    in this position and unchanged.
10   * 2. Redistributions in binary form must reproduce the above copyright
11   *    notice, this list of conditions and the following disclaimer in the
12   *    documentation and/or other materials provided with the distribution.
13   * 
14   * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
15   * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17   * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
18   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20   * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21   * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24   */
25  
26  #ifdef HAVE_CONFIG_H
27  #include "pkg_config.h"
28  #endif
29  
30  #include <getopt.h>
31  #include <pkg.h>
32  
33  #include "pkgcli.h"
34  
35  void
36  usage_triggers(void)
37  {
38  	fprintf(stderr, "Usage: pkg triggers [-q]\n\n");
39  	fprintf(stderr, "For more information see 'pkg help triggers'.\n");
40  }
41  
42  int
43  exec_triggers(int argc, char **argv)
44  {
45  	int ch;
46  
47  	struct option longopts[] = {
48  		{ "quiet",	no_argument,	NULL,	'q' },
49  		{ NULL,		0,		NULL,	0   },
50  	};
51  	
52  	while ((ch = getopt_long(argc, argv, "+q", longopts, NULL)) != -1) {
53                  switch (ch) {
54  		case 'q':
55  			quiet = true;
56  			break;
57  		default:
58  			usage_triggers();
59  			return (EXIT_FAILURE);
60  		}
61  	}
62  	// argv += optind;
63  
64  	pkg_execute_deferred_triggers();
65  
66  	return (EXIT_SUCCESS);
67  }