From: Timo Kokkonen Date: Wed, 27 Apr 2011 19:01:14 +0000 (+0300) Subject: Factor out misc functions into utils.[ch] files X-Git-Url: http://git.itanic.dy.fi/?p=glucose;a=commitdiff_plain;h=463d9b5d7ac29825bc3d1ccb2519d76c78c83a76 Factor out misc functions into utils.[ch] files Signed-off-by: Timo Kokkonen --- diff --git a/Makefile b/Makefile index 2846968..cbbfd55 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ CC = gcc LD = ld CFLAGS = -Wall -O2 -g -GLUCOSE_OBJS = main.o hiddev.o +GLUCOSE_OBJS = main.o hiddev.o utils.o ALL_OBJS = $(GLUCOSE_OBJS) ALL_DEBS = $(shell echo " "$(ALL_OBJS) | sed -e "s,[^ ]*\.a,,g" -e \ diff --git a/main.c b/main.c index a453980..62b2241 100644 --- a/main.c +++ b/main.c @@ -8,8 +8,8 @@ #include #include "hiddev.h" +#include "utils.h" -#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) struct msg { int direction; @@ -21,42 +21,6 @@ enum direction { OUT, }; -static int is_printable(const unsigned char c) -{ - return c >= 0x20 && c < 0x80; -} - -static int datalen(const unsigned char *data) -{ - int i, len; - - for (i = 0, len = 0; i < 64; i++) - if (data[i]) - len = i; - - return len + 1; -} - -static void print_hex(const unsigned char *data, int len) -{ - int i; - - for (i = 0; i < len; i++) - printf("0x%02x ", data[i]); - - printf("\n"); -} - -static void print_ascii(const unsigned char *data, int len) -{ - int i; - - for (i = 0; i < len; i++) - printf("%c", is_printable(data[i]) ? data[i] : '.'); - - printf("\n"); -} - int send_msg(const struct msg *msg, int fd, int usage_code) { int ret; diff --git a/utils.c b/utils.c new file mode 100644 index 0000000..ce6d967 --- /dev/null +++ b/utils.c @@ -0,0 +1,34 @@ +#include + +#include "utils.h" + +int datalen(const unsigned char *data) +{ + int i, len; + + for (i = 0, len = 0; i < 64; i++) + if (data[i]) + len = i; + + return len + 1; +} + +void print_hex(const unsigned char *data, int len) +{ + int i; + + for (i = 0; i < len; i++) + printf("0x%02x ", data[i]); + + printf("\n"); +} + +void print_ascii(const unsigned char *data, int len) +{ + int i; + + for (i = 0; i < len; i++) + printf("%c", is_printable(data[i]) ? data[i] : '.'); + + printf("\n"); +} diff --git a/utils.h b/utils.h new file mode 100644 index 0000000..a0bdfb5 --- /dev/null +++ b/utils.h @@ -0,0 +1,15 @@ +#ifndef _UTILS_H +#define _UTILS_H + +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) + +static inline int is_printable(const unsigned char c) +{ + return c >= 0x20 && c < 0x80; +} + +int datalen(const unsigned char *data); +void print_hex(const unsigned char *data, int len); +void print_ascii(const unsigned char *data, int len); + +#endif