diff options
author | deva <deva> | 2011-02-07 08:58:20 +0000 |
---|---|---|
committer | deva <deva> | 2011-02-07 08:58:20 +0000 |
commit | 24e34e58b58474c845d8cd1f7dec974961d66365 (patch) | |
tree | 0914893dc269d6a3766fa79f9bb1bf78373c4b3f | |
parent | 7563ce50d64c250788698f89f68f35fe174f04a1 (diff) |
Hexify tool for resource creation.
-rw-r--r-- | tools/hexify.cc | 62 |
1 files changed, 62 insertions, 0 deletions
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 <stdio.h> + +#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; +} + |