mirror of https://github.com/xzeldon/htop.git
New version of MakeHeader. Does not use 'private' comment annotation,
using the 'static' storage class instead. Automatically generates 'extern' declarations in headers for non-static data.
This commit is contained in:
parent
5d07013e83
commit
35afc13ebf
|
@ -8,6 +8,7 @@ SKIP=3
|
||||||
SKIPONE=4
|
SKIPONE=4
|
||||||
|
|
||||||
state = ANY
|
state = ANY
|
||||||
|
static = 0
|
||||||
|
|
||||||
file = open(sys.argv[1])
|
file = open(sys.argv[1])
|
||||||
name = sys.argv[1][:-2]
|
name = sys.argv[1][:-2]
|
||||||
|
@ -34,15 +35,27 @@ for line in file.readlines():
|
||||||
state = COPY
|
state = COPY
|
||||||
elif line == selfheader:
|
elif line == selfheader:
|
||||||
pass
|
pass
|
||||||
elif string.find(line, "typedef") == 0 or line == "/* private */":
|
elif line.find("htop - ") == 0 and line[-2:] == ".c":
|
||||||
|
out.write(line[:-2] + ".h")
|
||||||
|
elif line.find("static ") != -1:
|
||||||
|
if line[-1] == "{":
|
||||||
state = SKIP
|
state = SKIP
|
||||||
elif string.find(line, "/* private property */") == 0:
|
static = 1
|
||||||
|
else:
|
||||||
state = SKIPONE
|
state = SKIPONE
|
||||||
elif len(line) > 1 and line[-1] == "{":
|
elif len(line) > 1:
|
||||||
|
static = 0
|
||||||
|
equals = line.find(" = ")
|
||||||
|
if line[-3:] == "= {":
|
||||||
|
out.write( "extern " + line[:-4] + ";" )
|
||||||
|
state = SKIP
|
||||||
|
elif equals != -1:
|
||||||
|
out.write("extern " + line[:equals] + ";" )
|
||||||
|
elif line[-1] == "{":
|
||||||
out.write( line[:-2] + ";" )
|
out.write( line[:-2] + ";" )
|
||||||
state = SKIP
|
state = SKIP
|
||||||
elif line == "":
|
else:
|
||||||
out.write( "" )
|
out.write( line )
|
||||||
else:
|
else:
|
||||||
out.write( line )
|
out.write( line )
|
||||||
elif state == COPY:
|
elif state == COPY:
|
||||||
|
@ -52,7 +65,11 @@ for line in file.readlines():
|
||||||
out.write( line )
|
out.write( line )
|
||||||
elif state == SKIP:
|
elif state == SKIP:
|
||||||
if len(line) >= 1 and line[0] == "}":
|
if len(line) >= 1 and line[0] == "}":
|
||||||
|
if static == 1:
|
||||||
|
state = SKIPONE
|
||||||
|
else:
|
||||||
state = ANY
|
state = ANY
|
||||||
|
static = 0
|
||||||
elif state == SKIPONE:
|
elif state == SKIPONE:
|
||||||
state = ANY
|
state = ANY
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue