From 463d9b5d7ac29825bc3d1ccb2519d76c78c83a76 Mon Sep 17 00:00:00 2001 From: Timo Kokkonen Date: Wed, 27 Apr 2011 22:01:14 +0300 Subject: [PATCH] Factor out misc functions into utils.[ch] files Signed-off-by: Timo Kokkonen --- Makefile | 2 +- main.c | 38 +------------------------------------- utils.c | 34 ++++++++++++++++++++++++++++++++++ utils.h | 15 +++++++++++++++ 4 files changed, 51 insertions(+), 38 deletions(-) create mode 100644 utils.c create mode 100644 utils.h 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 -- 2.45.0