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/Makefile | 5 ++++ tools/checkwps.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 tools/checkwps.c (limited to 'tools') diff --git a/tools/Makefile b/tools/Makefile index a25447c20e..ac9fbac6d0 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -47,6 +47,11 @@ database: database.c ../apps/tagcache.c ../apps/metadata.c \ -D__PCTOOL__ -DHAVE_TAGCACHE -DROCKBOX_HAS_LOGF -DSIMULATOR \ -DCONFIG_CODEC=1 -ldl -I../apps $+ -o $@ +checkwps: checkwps.c ../apps/gui/wps_parser.c ../apps/gui/wps_debug.c ../firmware/common/ctype.c + $(SILENT)$(CC) -g -I ../apps/gui -I../firmware/export \ +-D__PCTOOL__ -DDEBUG -DROCKBOX_HAS_LOGF -DIPOD_COLOR -D ROCKBOX_DIR_LEN=255 -D WPS_DIR=\".\" \ +-I../apps -I../firmware/target/arm/ipod -I../firmware/include $+ -o $@ + convbdf: convbdf.c $(SILENT)$(CC) -g $+ -o $@ 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