Add gt_print()
This commit is contained in:
13
src/common.c
13
src/common.c
@@ -3,6 +3,19 @@
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
int gt_print (const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
int ret = vfprintf(stdout, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
if (ret<0)
|
||||
return 0;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void gt_log (const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
@@ -27,6 +27,7 @@ struct buffer {
|
||||
uint8_t *end;
|
||||
};
|
||||
|
||||
int gt_print (const char *, ...) _printf_(1,2);
|
||||
void gt_log (const char *, ...) _printf_(1,2);
|
||||
void gt_fatal (const char *, ...) _printf_(1,2) _noreturn_;
|
||||
void gt_na (const char *);
|
||||
|
||||
@@ -663,7 +663,7 @@ int main (int argc, char **argv)
|
||||
return 1;
|
||||
|
||||
if (version) {
|
||||
printf(PACKAGE_STRING"\n");
|
||||
gt_print(PACKAGE_STRING"\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
18
src/option.c
18
src/option.c
@@ -16,7 +16,7 @@ int option_flag (void *data, _unused_ int argc, _unused_ char **argv)
|
||||
int option_str (void *data, int argc, char **argv)
|
||||
{
|
||||
if (argc<2 || !argv[1]) {
|
||||
printf("option `%s' need a string argument\n", argv[0]);
|
||||
gt_print("option `%s' need a string argument\n", argv[0]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ int option_str (void *data, int argc, char **argv)
|
||||
int option_long (void *data, int argc, char **argv)
|
||||
{
|
||||
if (argc<2 || !argv[1]) {
|
||||
printf("option `%s' need an integer argument\n", argv[0]);
|
||||
gt_print("option `%s' need an integer argument\n", argv[0]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ int option_long (void *data, int argc, char **argv)
|
||||
long val = strtol(argv[1], &end, 0);
|
||||
|
||||
if (errno || argv[1]==end) {
|
||||
printf("argument `%s' is not a valid integer\n", argv[1]);
|
||||
gt_print("argument `%s' is not a valid integer\n", argv[1]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ int option_option (void *data, int argc, char **argv)
|
||||
continue;
|
||||
|
||||
if (opts[k].set) {
|
||||
printf("option `%s' is already set\n", opts[k].name);
|
||||
gt_print("option `%s' is already set\n", opts[k].name);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ static void option_usage (struct option *opts, char *name)
|
||||
size_t slen = str_len(usage)+str_len(name);
|
||||
size_t len = slen;
|
||||
|
||||
printf("%s%s", usage, name);
|
||||
gt_print("%s%s", usage, name);
|
||||
|
||||
if (slen>40)
|
||||
slen = 12;
|
||||
@@ -100,15 +100,15 @@ static void option_usage (struct option *opts, char *name)
|
||||
size_t inc = str_len(opts[k].name)+str_len(arg)+3;
|
||||
|
||||
if (len+inc>72) {
|
||||
printf("\n%*s", (int)slen, "");
|
||||
gt_print("\n%*s", (int)slen, "");
|
||||
len = slen;
|
||||
}
|
||||
|
||||
printf(" [%s%s]", opts[k].name, arg);
|
||||
gt_print(" [%s%s]", opts[k].name, arg);
|
||||
len += inc;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
gt_print("\n");
|
||||
}
|
||||
|
||||
int option (struct option *opts, int argc, char **argv)
|
||||
@@ -121,7 +121,7 @@ int option (struct option *opts, int argc, char **argv)
|
||||
if (ret<0 || ret+1>=argc)
|
||||
return 1;
|
||||
|
||||
printf("option `%s' is unknown\n", argv[ret+1]);
|
||||
gt_print("option `%s' is unknown\n", argv[ret+1]);
|
||||
option_usage(opts, argv[0]);
|
||||
|
||||
return 1;
|
||||
|
||||
@@ -56,7 +56,7 @@ int tun_create (char *name, int multiqueue)
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("tun name: %s\n", ifr.ifr_name);
|
||||
gt_print("tun name: %s\n", ifr.ifr_name);
|
||||
|
||||
return fd;
|
||||
}
|
||||
@@ -91,7 +91,7 @@ int tun_create (_unused_ char *name, _unused_ int mq)
|
||||
continue;
|
||||
}
|
||||
|
||||
printf("tun name: /dev/utun%u\n", dev_id);
|
||||
gt_print("tun name: /dev/utun%u\n", dev_id);
|
||||
|
||||
return fd;
|
||||
}
|
||||
@@ -104,12 +104,12 @@ int tun_create (_unused_ char *name, _unused_ int mq)
|
||||
for (unsigned dev_id = 0U; dev_id<32U; dev_id++) {
|
||||
char dev_path[11U];
|
||||
|
||||
snprintf(dev_path, sizeof(dev_path), "/dev/tun%u", dev_id);
|
||||
sngt_print(dev_path, sizeof(dev_path), "/dev/tun%u", dev_id);
|
||||
|
||||
int fd = open(dev_path, O_RDWR);
|
||||
|
||||
if (fd!=-1) {
|
||||
printf("tun name: /dev/tun%u\n", dev_id);
|
||||
gt_print("tun name: /dev/tun%u\n", dev_id);
|
||||
return fd;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user