Add gt_print()

This commit is contained in:
angt
2015-11-17 23:29:56 +01:00
parent e4f2a92c5b
commit 47432ecafa
5 changed files with 28 additions and 14 deletions

View File

@@ -3,6 +3,19 @@
#include <stdio.h> #include <stdio.h>
#include <stdarg.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, ...) void gt_log (const char *fmt, ...)
{ {
va_list ap; va_list ap;

View File

@@ -27,6 +27,7 @@ struct buffer {
uint8_t *end; uint8_t *end;
}; };
int gt_print (const char *, ...) _printf_(1,2);
void gt_log (const char *, ...) _printf_(1,2); void gt_log (const char *, ...) _printf_(1,2);
void gt_fatal (const char *, ...) _printf_(1,2) _noreturn_; void gt_fatal (const char *, ...) _printf_(1,2) _noreturn_;
void gt_na (const char *); void gt_na (const char *);

View File

@@ -663,7 +663,7 @@ int main (int argc, char **argv)
return 1; return 1;
if (version) { if (version) {
printf(PACKAGE_STRING"\n"); gt_print(PACKAGE_STRING"\n");
return 0; return 0;
} }

View File

@@ -16,7 +16,7 @@ int option_flag (void *data, _unused_ int argc, _unused_ char **argv)
int option_str (void *data, int argc, char **argv) int option_str (void *data, int argc, char **argv)
{ {
if (argc<2 || !argv[1]) { 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; return -1;
} }
@@ -28,7 +28,7 @@ int option_str (void *data, int argc, char **argv)
int option_long (void *data, int argc, char **argv) int option_long (void *data, int argc, char **argv)
{ {
if (argc<2 || !argv[1]) { 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; return -1;
} }
@@ -37,7 +37,7 @@ int option_long (void *data, int argc, char **argv)
long val = strtol(argv[1], &end, 0); long val = strtol(argv[1], &end, 0);
if (errno || argv[1]==end) { 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; return -1;
} }
@@ -61,7 +61,7 @@ int option_option (void *data, int argc, char **argv)
continue; continue;
if (opts[k].set) { 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; 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 slen = str_len(usage)+str_len(name);
size_t len = slen; size_t len = slen;
printf("%s%s", usage, name); gt_print("%s%s", usage, name);
if (slen>40) if (slen>40)
slen = 12; 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; size_t inc = str_len(opts[k].name)+str_len(arg)+3;
if (len+inc>72) { if (len+inc>72) {
printf("\n%*s", (int)slen, ""); gt_print("\n%*s", (int)slen, "");
len = slen; len = slen;
} }
printf(" [%s%s]", opts[k].name, arg); gt_print(" [%s%s]", opts[k].name, arg);
len += inc; len += inc;
} }
printf("\n"); gt_print("\n");
} }
int option (struct option *opts, int argc, char **argv) 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) if (ret<0 || ret+1>=argc)
return 1; 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]); option_usage(opts, argv[0]);
return 1; return 1;

View File

@@ -56,7 +56,7 @@ int tun_create (char *name, int multiqueue)
return -1; return -1;
} }
printf("tun name: %s\n", ifr.ifr_name); gt_print("tun name: %s\n", ifr.ifr_name);
return fd; return fd;
} }
@@ -91,7 +91,7 @@ int tun_create (_unused_ char *name, _unused_ int mq)
continue; continue;
} }
printf("tun name: /dev/utun%u\n", dev_id); gt_print("tun name: /dev/utun%u\n", dev_id);
return fd; 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++) { for (unsigned dev_id = 0U; dev_id<32U; dev_id++) {
char dev_path[11U]; 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); int fd = open(dev_path, O_RDWR);
if (fd!=-1) { if (fd!=-1) {
printf("tun name: /dev/tun%u\n", dev_id); gt_print("tun name: /dev/tun%u\n", dev_id);
return fd; return fd;
} }
} }