3 changed files with 0 additions and 78 deletions
@ -1,51 +0,0 @@ |
|||||
/*
|
|
||||
* Copy me if you can. |
|
||||
* by 20h |
|
||||
*/ |
|
||||
|
|
||||
#ifndef ARG_H__ |
|
||||
#define ARG_H__ |
|
||||
|
|
||||
extern char *argv0; |
|
||||
|
|
||||
/* use main(int argc, char *argv[]) */ |
|
||||
#define ARGBEGIN for (argv0 = *argv, argv++, argc--;\ |
|
||||
argv[0] && argv[0][1]\ |
|
||||
&& argv[0][0] == '-';\ |
|
||||
argc--, argv++) {\ |
|
||||
char argc_;\ |
|
||||
char **argv_;\ |
|
||||
int brk_;\ |
|
||||
if (argv[0][1] == '-' && argv[0][2] == '\0') {\ |
|
||||
argv++;\ |
|
||||
argc--;\ |
|
||||
break;\ |
|
||||
}\ |
|
||||
for (brk_ = 0, argv[0]++, argv_ = argv;\ |
|
||||
argv[0][0] && !brk_;\ |
|
||||
argv[0]++) {\ |
|
||||
if (argv_ != argv)\ |
|
||||
break;\ |
|
||||
argc_ = argv[0][0];\ |
|
||||
switch (argc_) |
|
||||
|
|
||||
#define ARGEND }\ |
|
||||
} |
|
||||
|
|
||||
#define ARGC() argc_ |
|
||||
|
|
||||
#define ARGNUMF(base) (brk_ = 1, estrtol(argv[0], (base))) |
|
||||
|
|
||||
#define EARGF(x) ((argv[0][1] == '\0' && argv[1] == NULL)?\ |
|
||||
((x), abort(), (char *)0) :\ |
|
||||
(brk_ = 1, (argv[0][1] != '\0')?\ |
|
||||
(&argv[0][1]) :\ |
|
||||
(argc--, argv++, argv[0]))) |
|
||||
|
|
||||
#define ARGF() ((argv[0][1] == '\0' && argv[1] == NULL)?\ |
|
||||
(char *)0 :\ |
|
||||
(brk_ = 1, (argv[0][1] != '\0')?\ |
|
||||
(&argv[0][1]) :\ |
|
||||
(argc--, argv++, argv[0]))) |
|
||||
|
|
||||
#endif |
|
||||
@ -1,19 +0,0 @@ |
|||||
/*
|
|
||||
* Thanks to lloyd for contribution |
|
||||
*/ |
|
||||
|
|
||||
extern char concat[4096]; |
|
||||
|
|
||||
extern void |
|
||||
ccat(const unsigned short int count, ...) |
|
||||
{ |
|
||||
va_list ap; |
|
||||
unsigned short int i; |
|
||||
concat[0] = '\0'; |
|
||||
|
|
||||
va_start(ap, count); |
|
||||
for(i = 0; i < count; i++) |
|
||||
strlcat(concat, va_arg(ap, char *), sizeof(concat)); |
|
||||
va_end(ap); |
|
||||
return; |
|
||||
} |
|
||||
Loading…
Reference in new issue