Skip to content

Commit

Permalink
[hmaptool] Port to python3
Browse files Browse the repository at this point in the history
This is just a few trivial changes -- change the interpreter and fix a
few byte-vs-string issues.

Differential Revision: https://reviews.llvm.org/D107944
  • Loading branch information
lanza committed Nov 20, 2021
1 parent 241df03 commit 1bd4dc4
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions clang/utils/hmaptool/hmaptool
@@ -1,6 +1,7 @@
#!/usr/bin/env python
#!/usr/bin/env python3
from __future__ import absolute_import, division, print_function

from ctypes import ArgumentError
import json
import optparse
import os
Expand All @@ -9,8 +10,8 @@ import sys

###

k_header_magic_LE = 'pamh'
k_header_magic_BE = 'hmap'
k_header_magic_LE = b'pamh'
k_header_magic_BE = b'hmap'

def hmap_hash(str):
"""hash(str) -> int
Expand Down Expand Up @@ -43,7 +44,7 @@ class HeaderMap(object):
path,))

(version, reserved, strtable_offset, num_entries,
num_buckets, max_value_len) = struct.unpack(header_fmt, data)
num_buckets) = struct.unpack(header_fmt, data)

if version != 1:
raise SystemExit("error: %s: unknown headermap version: %r" % (
Expand Down Expand Up @@ -83,7 +84,7 @@ class HeaderMap(object):
if len(strtable) != strtable_size:
raise SystemExit("error: %s: unable to read complete string table"%(
path,))
if strtable[-1] != '\0':
if strtable[-1] != 0:
raise SystemExit("error: %s: invalid string table in headermap" % (
path,))

Expand All @@ -97,8 +98,8 @@ class HeaderMap(object):
def get_string(self, idx):
if idx >= len(self.strtable):
raise SystemExit("error: %s: invalid string index" % (
path,))
end_idx = self.strtable.index('\0', idx)
idx,))
end_idx = self.strtable.index(0, idx)
return self.strtable[idx:end_idx]

@property
Expand Down Expand Up @@ -220,7 +221,7 @@ def action_write(name, args):

# Write out the headermap.
with open(output_path, 'wb') as f:
f.write(magic.encode())
f.write(magic)
f.write(struct.pack(header_fmt, *header))
for bucket in table:
f.write(struct.pack(bucket_fmt, *bucket))
Expand Down

0 comments on commit 1bd4dc4

Please sign in to comment.