From f0d4fc6c6b146197c0fc51753d838252766aeda2 Mon Sep 17 00:00:00 2001 From: Dave Chapman Date: Tue, 29 May 2007 19:00:36 +0000 Subject: Commit my patch from FS#7179 - a standalone command-line checkwps tool. To build, just type "make checkwps" in tools and run it with "checkwps wpsname.wps". git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13517 a1c6a512-1295-4272-9138-f99709370657 --- tools/checkwps.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 tools/checkwps.c (limited to 'tools/checkwps.c') diff --git a/tools/checkwps.c b/tools/checkwps.c new file mode 100644 index 0000000000..74ce1e82be --- /dev/null +++ b/tools/checkwps.c @@ -0,0 +1,91 @@ +#include +#include +#include "gwps.h" + +#define MIN(x,y) ((x) > (y) ? (y) : (x)) + +bool debug_wps = true; + +int read_bmp_file(char* filename, + struct bitmap *bm, + int maxsize, + int format) +{ + return 0; +} + +int errno; + +int read_line(int fd, char* buffer, int buffer_size) +{ + int count = 0; + int num_read = 0; + + errno = 0; + + while (count < buffer_size) + { + unsigned char c; + + if (1 != read(fd, &c, 1)) + break; + + num_read++; + + if ( c == '\n' ) + break; + + if ( c == '\r' ) + continue; + + buffer[count++] = c; + } + + buffer[MIN(count, buffer_size - 1)] = 0; + + return errno ? -1 : num_read; +} + +bool load_wps_backdrop(char* filename) +{ + return true; +} + +static char pluginbuf[PLUGIN_BUFFER_SIZE]; + +void* plugin_get_buffer(size_t *buffer_size) +{ + *buffer_size = PLUGIN_BUFFER_SIZE; + return pluginbuf; +} + +int main(int argc, char **argv) +{ + int res; + int fd; + + struct wps_data wps; + + if (argc != 2) { + printf("Usage: checkwps filename.wps\n"); + return 1; + } + + fd = open(argv[1], O_RDONLY); + if (fd < 0) { + printf("Failed to open %s\n",argv[1]); + return 2; + } + close(fd); + + res = wps_data_load(&wps, argv[1], true); + + if (!res) { + printf("WPS parsing failure\n"); + return 3; + } + + printf("WPS parsed OK\n"); + return 0; +} + -- cgit v1.2.3