From 24e34e58b58474c845d8cd1f7dec974961d66365 Mon Sep 17 00:00:00 2001 From: deva Date: Mon, 7 Feb 2011 08:58:20 +0000 Subject: Hexify tool for resource creation. --- tools/hexify.cc | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tools/hexify.cc diff --git a/tools/hexify.cc b/tools/hexify.cc new file mode 100644 index 0000000..8f8b308 --- /dev/null +++ b/tools/hexify.cc @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set et sw=2 ts=2: */ +/*************************************************************************** + * hexify.cc + * + * Mon Feb 7 08:42:59 CET 2011 + * Copyright 2011 Bent Bisballe Nyeng + * deva@aasimon.org + ****************************************************************************/ + +/* + * This file is part of Pracro. + * + * Pracro is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Pracro is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Pracro; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ +#include + +#define WIDTH 12 + +int main(int argc, char *argv[]) +{ + if(argc < 2) { + printf("Usage %s file\n", argv[0]); + return 1; + } + + FILE *fp = fopen(argv[1], "r"); + if(!fp) { + printf("Could not open %s\n", argv[1]); + return 1; + } + + int cnt = 0; + printf("static const char val[] = {"); + while(!feof(fp)) { + unsigned char c; + int sz = fread(&c, 1, 1, fp); + if(cnt) printf(", "); + if(cnt % WIDTH == 0) printf("\n "); + printf("0x%02x", c); + cnt++; + } + printf("\n};\n"); + printf("static int valsize = %d;\n", cnt); + + fclose(fp); + + return 0; +} + -- cgit v1.2.3