• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/python
2
3# Copyright 2003 Vladimir Prus
4# Distributed under the Boost Software License, Version 1.0.
5# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
6
7import sys
8from string import strip
9
10def quote_line(line):
11
12    result = ""
13
14    for i in line:
15        if (i == '\\'):
16            result = result + '\\\\'
17        elif (i == '\"'):
18            result = result + '\\\"'
19        elif (i != '\r' and i != '\n'):
20            result = result + i;
21
22    return '\"' + result + '\\n\"'
23
24def quote_file(file):
25    result = ""
26
27    for i in file.readlines():
28        result = result + quote_line(i) + "\n"
29
30    return result
31
32if len(sys.argv) < 3:
33    print "Usage: inline_file.py output_c_file file_to_include"
34else:
35    output_c_file = sys.argv[1]
36    out_file = open(output_c_file, "w");
37
38    file_to_include = sys.argv[2]
39
40    in_file  = open(file_to_include, "r");
41    variable_name = strip(in_file.readline())
42    out_file.write("extern const char %s[] = {\n%s};\n\n" % (variable_name, quote_file(in_file)))
43    in_file.close()
44    out_file.close()
45