37 lines
1004 B
Python
37 lines
1004 B
Python
|
#!/usr/bin/env python
|
||
|
|
||
|
import time
|
||
|
import sys
|
||
|
|
||
|
time = time.gmtime()
|
||
|
print("/* This file was generated by mkhelp.py from less.hlp at "\
|
||
|
"%d:%02d GMT on %d/%d/%d */\n" %
|
||
|
(time.tm_hour, time.tm_min, time.tm_year, time.tm_mon, time.tm_mday))
|
||
|
print("#include \"less.h\"")
|
||
|
print("constant char helpdata[] = {")
|
||
|
ch = 0
|
||
|
while True:
|
||
|
prevch = ch
|
||
|
ch = sys.stdin.read(1)
|
||
|
if ch == '':
|
||
|
break
|
||
|
if (ch == "'"):
|
||
|
print("'\\'',", end='')
|
||
|
elif (ch == "\\"):
|
||
|
print("'\\\\',", end='')
|
||
|
elif (ch == "\b"):
|
||
|
print ("'\\b',", end='')
|
||
|
elif (ch == "\t"):
|
||
|
print ("'\\t',", end='')
|
||
|
elif (ch == "\n"):
|
||
|
if prevch != "\r": print("'\\n',")
|
||
|
elif (ch == "\r"):
|
||
|
if prevch != "\n": print("'\\n',")
|
||
|
else:
|
||
|
if ((ord(ch) >= ord(' ')) and (ord(ch) < 0x7f)):
|
||
|
print(f"'{ch}',", end='')
|
||
|
else:
|
||
|
print("0x%02x," % ord(ch), end='')
|
||
|
print(" '\\0' };")
|
||
|
print("constant int size_helpdata = sizeof(helpdata) - 1;")
|