Add new alpm_list_remove_item() function
[pacman-ng.git] / src / util / vercmp.c
blobadb5a42a4b48d07fdbd0ebb179dc5ffdc33d576e
1 /*
2 * vercmp.c
4 * Copyright (c) 2006-2011 Pacman Development Team <pacman-dev@archlinux.org>
5 * Copyright (c) 2002-2005 by Judd Vinet <jvinet@zeroflux.org>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #include <stdlib.h>
22 #include <stdio.h> /* printf */
23 #include <string.h> /* strncpy */
25 #define BASENAME "vercmp"
27 /* forward declaration, comes from version.o in libalpm source that is linked
28 * in directly so we don't have any library deps */
29 int alpm_pkg_vercmp(const char *a, const char *b);
31 static void usage(void)
33 fprintf(stderr, "usage: %s <ver1> <ver2>\n\n", BASENAME);
34 fprintf(stderr, "output values:\n");
35 fprintf(stderr, " < 0 : if ver1 < ver2\n");
36 fprintf(stderr, " 0 : if ver1 == ver2\n");
37 fprintf(stderr, " > 0 : if ver1 > ver2\n");
40 int main(int argc, char *argv[])
42 const char *s1 = "";
43 const char *s2 = "";
44 int ret;
46 if(argc == 1) {
47 usage();
48 return(2);
50 if(argc > 1 &&
51 (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0
52 || strcmp(argv[1], "--usage") == 0)) {
53 usage();
54 return(0);
56 if(argc > 2) {
57 s2 = argv[2];
59 if(argc > 1) {
60 s1 = argv[1];
63 ret = alpm_pkg_vercmp(s1, s2);
64 printf("%d\n", ret);
65 return(EXIT_SUCCESS);