This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Applied the idea with python script alternative. Review, please. 2015-07-24 17:18 GMT+03:00 David Malcolm <dmalcolm@redhat.com>: > On Fri, 2015-07-24 at 10:01 +0200, Jakub Jelinek wrote: >> #!/usr/bin/python >> import sys >> with open(sys.argv[1],"rb") as f: >> nextblock = f.read(12) >> while 1: >> block = nextblock >> nextblock = f.read(12) >> if block == "": >> break >> str = "" >> for ch in block: >> if str == "": >> str = " " >> else: >> str += ", " >> if ord(ch) < 10: >> str += "0x0" + chr(ord('0')+ord(ch)) >> elif ord(ch) < 16: >> str += "0x0" + chr(ord('a')+ord(ch)-10) >> else: >> str += hex(ord(ch)) >> if nextblock != "": >> str += "," >> print str >> >> python ./xxd.py $< >> $@ >> does the same thing as >> cat $< | xxd -include >> $@ >> (CCing David as python expert, my python knowledge is limited and >> 15 years old, not sure how portable this is (python 2 vs. python 3, >> and >> even python 2 minimal versions)). > > It doesn't work with Python 3 for various reasons ("print" syntax, and > str vs bytes issues). > > I'm attaching a version which works with both Python 2 and Python 3 > (2.7.5 and 3.3.2 were the versions I tried). > > It ought to work with much older python 2 versions (as your script > appears to), but I don't have them handy. > > Presumably it would need a license header and some descriptive comments. > > (snip) > > Dave -- --------------------- Sincerely yours, Maxim Blumental
Attachment:
ChangeLog.txt
Description: Text document
Attachment:
xxd_check.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |