Skip to content

Commit 5999964

Browse files
committed
Fix QualifiedName join from ffi and also support NameSpace join
1 parent 1893495 commit 5999964

1 file changed

Lines changed: 5 additions & 7 deletions

File tree

python/types.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -164,15 +164,15 @@ def _to_core_struct(self) -> core.BNQualifiedName:
164164
name_list[i] = self.name[i].encode("utf-8")
165165
result.name = name_list
166166
result.nameCount = len(self.name)
167-
result.join = self.join.encode("utf-8")
167+
result.join = self.join
168168
return result
169169

170170
@staticmethod
171171
def _from_core_struct(name):
172172
result = []
173173
for i in range(0, name.nameCount):
174174
result.append(name.name[i].decode("utf-8"))
175-
return QualifiedName(result, name.join.decode("utf-8"))
175+
return QualifiedName(result, name.join)
176176

177177
@property
178178
def name(self) -> List[str]:
@@ -216,24 +216,22 @@ def __repr__(self):
216216

217217

218218
class NameSpace(QualifiedName):
219-
def __str__(self):
220-
return ":".join(self.name)
221-
222219
def _to_core_struct(self) -> core.BNNameSpace:
223220
result = core.BNNameSpace()
224221
name_list = (ctypes.c_char_p * len(self.name))()
225222
for i in range(0, len(self.name)):
226-
name_list[i] = self.name[i].encode('charmap')
223+
name_list[i] = self.name[i].encode('utf-8')
227224
result.name = name_list
228225
result.nameCount = len(self.name)
226+
result.join = self.join
229227
return result
230228

231229
@staticmethod
232230
def _from_core_struct(name: core.BNNameSpace) -> 'NameSpace':
233231
result = []
234232
for i in range(0, name.nameCount):
235233
result.append(name.name[i].decode("utf-8"))
236-
return NameSpace(result)
234+
return NameSpace(result, name.join)
237235

238236
@staticmethod
239237
def get_core_struct(name: Optional[Union[str, List[str], 'NameSpace']]) -> Optional[core.BNNameSpace]:

0 commit comments

Comments
 (0)