util.c

Sun, 07 Mar 2004 22:10:48 +0100

author
tuomov
date
Sun, 07 Mar 2004 22:10:48 +0100
changeset 63
5b732dd506d3
parent 62
aae5facf9fc5
child 70
e866dc825481
permissions
-rw-r--r--

trunk: changeset 1360
Added scopyn.

0
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
1 /*
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
2 * libtu/util.c
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
3 *
36
63cd573ffbcf trunk: changeset 39
tuomov
parents: 12
diff changeset
4 * Copyright (c) Tuomo Valkonen 1999-2002.
53
f8f9366b359c trunk: changeset 57
tuomov
parents: 36
diff changeset
5 *
f8f9366b359c trunk: changeset 57
tuomov
parents: 36
diff changeset
6 * You may distribute and modify this library under the terms of either
f8f9366b359c trunk: changeset 57
tuomov
parents: 36
diff changeset
7 * the Clarified Artistic License or the GNU LGPL, version 2.1 or later.
0
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
8 */
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
9
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
10 #include <stdarg.h>
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
11 #include <stdio.h>
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
12 #include <stdlib.h>
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
13 #include <string.h>
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
14
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
15 #ifdef CONFIG_LOCALE
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
16 #include <libintl.h>
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
17 #endif
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
18
5
f878a9ffa3e0 trunk: changeset 8
tuomov
parents: 0
diff changeset
19 #include <libtu/util.h>
f878a9ffa3e0 trunk: changeset 8
tuomov
parents: 0
diff changeset
20 #include <libtu/misc.h>
0
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
21
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
22
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
23 static const char *progname=NULL;
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
24
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
25
12
5fd153b29d40 trunk: changeset 15
tuomov
parents: 9
diff changeset
26 void libtu_init(const char *argv0)
0
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
27 {
62
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
28 progname=argv0;
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
29
0
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
30 #ifdef CONFIG_LOCALE
62
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
31 textdomain(simple_basename(argv0));
0
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
32 #endif
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
33 }
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
34
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
35
12
5fd153b29d40 trunk: changeset 15
tuomov
parents: 9
diff changeset
36 void libtu_init_copt(int argc, char *const argv[],
62
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
37 const OptParserCommonInfo *cinfo)
0
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
38 {
62
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
39 int opt;
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
40
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
41 libtu_init(argv[0]);
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
42
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
43 optparser_init(argc, argv, OPTP_DEFAULT, NULL, cinfo);
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
44
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
45 while((opt=optparser_get_opt())){
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
46 switch(opt){
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
47 default:
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
48 optparser_print_error();
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
49 exit(EXIT_FAILURE);
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
50 }
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
51 }
0
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
52 }
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
53
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
54
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
55 const char *prog_execname()
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
56 {
62
aae5facf9fc5 trunk: changeset 1318
tuomov
parents: 53
diff changeset
57 return progname;
0
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
58 }
86b7f6f9c5c0 Tailorization of trunk
tailor@f281.ttorni.ton.tut.fi
parents:
diff changeset
59

mercurial