diff options
Diffstat (limited to 'avahi-daemon/embedd-file.py')
-rw-r--r-- | avahi-daemon/embedd-file.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/avahi-daemon/embedd-file.py b/avahi-daemon/embedd-file.py new file mode 100644 index 0000000..eaa250f --- /dev/null +++ b/avahi-daemon/embedd-file.py @@ -0,0 +1,56 @@ +#!/usr/bin/python + +import os, sys + +def usage(ret = 0): + print "%s [-s] <file> <symbol>" % sys.argv[0] + sys.exit(ret) + +args = sys.argv[1:] + +use_static = False + +if len(args) >= 1 and args[0] == '-s': + use_static = True + args = args[1:] + +if len(args) >= 1 and args[0] == '-h': + usage() + +if len(args) != 2: + sys.stderr("Wrong number of arguments") + usage(1) + +f = file(args[0]) +t = f.read() +f.close() + +out = sys.stdout + +if use_static: + out.write("static ") + +out.write('const char %s[] = \n"' % args[1]); + +n = 0 + +for c in t: + if c == '\n': + out.write('\\n"\n"') + n = 0 + elif c == '"': + out.write('\\"') + n += 2 + elif ord(c) < 32 or ord(c) >= 127: + out.write('\\x%02x' % ord(c)) + n += 4 + else: + out.write(c) + n += 1 + + if n >= 76: + out.write('"\n"') + n = 0 + +out.write('";\n'); + |