Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/haad/proxychains.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Hamsik <haaaad@gmail.com>2012-01-26 18:17:28 +0400
committerAdam Hamsik <haaaad@gmail.com>2012-01-26 18:17:28 +0400
commitfe8672eab6a3fd1a20066f1cf4b4d32f79b25188 (patch)
tree197ef22752f25945c85ad5df0d66ea5f2d4672c4 /src/main.c
parentd9341a8c746efbb3ce25f5e7f255a4919df16f0a (diff)
parentaf5163bccf0969ecaa653269e06dc2fb31a48e2d (diff)
Merge branch 'master' of github.com:haad/proxychains
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c33
1 files changed, 15 insertions, 18 deletions
diff --git a/src/main.c b/src/main.c
index 1dc5403..9b84b11 100644
--- a/src/main.c
+++ b/src/main.c
@@ -29,9 +29,6 @@
#include <errno.h>
#include <sys/wait.h>
-extern char *optarg;
-extern int optind, opterr, optopt;
-
#include "common.h"
static int usage(char** argv) {
@@ -78,31 +75,33 @@ int main(int argc, char *argv[]) {
char *path = NULL;
char buf[256];
char pbuf[256];
- int opt;
int start_argv = 1;
int quiet = 0;
+ size_t i;
+ const char* prefix = NULL;
- if(argc == 1) return usage(argv);
-
- while ((opt = getopt(argc, argv, "qf:")) != -1) {
- switch (opt) {
- case 'q':
+ for(i = 0; i < 2; i++) {
+ if(start_argv < argc && argv[start_argv][0] == '-') {
+ if(argv[start_argv][1] == 'q') {
quiet = 1;
start_argv++;
- break;
- case 'f':
- path = (char *)optarg;
+ } else if(argv[start_argv][1] == 'f') {
+
+ if(start_argv + 1 < argc)
+ path = argv[start_argv + 1];
+ else
+ return usage(argv);
+
if(!path) {
fprintf(stderr, "error: no path supplied.\n");
return EXIT_FAILURE;
}
start_argv += 2;
- break;
- default: /* '?' */
- return usage(argv);
}
+ } else
+ break;
}
-
+
if(start_argv >= argc) return usage(argv);
/* check if path of config file has not been passed via command line */
@@ -141,8 +140,6 @@ int main(int argc, char *argv[]) {
// search DLL
- size_t i = 0;
- const char* prefix = NULL;
set_own_dir(argv[0]);