-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathargs.c
39 lines (34 loc) · 894 Bytes
/
args.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdlib.h>
#include <string.h>
#include "log.h"
#include "args.h"
#include "functions.h"
void args_clean(int argc, char *argv[]){
for(int i = 0; i < argc; i++)
strcpy(argv[i], strtrim(argv[i],'"'));
}
bool arg_isset(int argc, char* argv[], char* name)
{
for (int i = 0; i < argc; i++) {
if (streq(argv[i], name))
return true;
}
return false;
}
LOGLEVEL get_log_level_arg(int argc, char* argv[])
{
if (arg_isset(argc, argv, "--debug"))
return LOGLEVEL_DEBUG;
if (arg_isset(argc, argv, "--info"))
return LOGLEVEL_INFO;
if (arg_isset(argc, argv, "--error"))
return LOGLEVEL_ERROR;
return LOGLEVEL_INFO;
}
int get_port_arg(int argc, char* argv[], int default_value)
{
if (argc > 1)
if (argv[1][0] >= '0' && argv[1][0] <= '9')
return atoi(argv[1]);
return default_value;
}