projects
/
platform
/
upstream
/
glib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[kdbus] KDBUS_ITEM_PAYLOAD_OFF items are (once again) relative to msg header
[platform/upstream/glib.git]
/
glib
/
glib.py
diff --git
a/glib/glib.py
b/glib/glib.py
index
135f4bc
..
f7fe22b
100644
(file)
--- a/
glib/glib.py
+++ b/
glib/glib.py
@@
-1,4
+1,8
@@
import gdb
import gdb
+import sys
+
+if sys.version_info[0] >= 3:
+ long = int
# This is not quite right, as local vars may override symname
def read_global_var (symname):
# This is not quite right, as local vars may override symname
def read_global_var (symname):
@@
-10,8
+14,15
@@
def g_quark_to_string (quark):
quark = long(quark)
if quark == 0:
return None
quark = long(quark)
if quark == 0:
return None
- val = read_global_var ("g_quarks")
- max_q = long(read_global_var ("g_quark_seq_id"))
+ try:
+ val = read_global_var ("quarks")
+ max_q = long(read_global_var ("quark_seq_id"))
+ except:
+ try:
+ val = read_global_var ("g_quarks")
+ max_q = long(read_global_var ("g_quark_seq_id"))
+ except:
+ return None;
if quark < max_q:
return val[quark].string()
return None
if quark < max_q:
return val[quark].string()
return None
@@
-76,7
+87,9
@@
class GHashPrinter:
def __init__(self, ht, keys_are_strings):
self.ht = ht
if ht != 0:
def __init__(self, ht, keys_are_strings):
self.ht = ht
if ht != 0:
- self.array = ht["nodes"]
+ self.keys = ht["keys"]
+ self.values = ht["values"]
+ self.hashes = ht["hashes"]
self.size = ht["size"]
self.pos = 0
self.keys_are_strings = keys_are_strings
self.size = ht["size"]
self.pos = 0
self.keys_are_strings = keys_are_strings
@@
-93,11
+106,10
@@
class GHashPrinter:
self.value = None
return v
while long(self.pos) < long(self.size):
self.value = None
return v
while long(self.pos) < long(self.size):
- node = self.array[self.pos]
self.pos = self.pos + 1
self.pos = self.pos + 1
- if long (
node["key_hash"
]) >= 2:
- key =
node["key"
]
- val =
node["value"
]
+ if long (
self.hashes[self.pos
]) >= 2:
+ key =
self.keys[self.pos
]
+ val =
self.values[self.pos
]
if self.keys_are_strings:
key = key.cast (gdb.lookup_type("char").pointer())
if self.keys_are_strings:
key = key.cast (gdb.lookup_type("char").pointer())
@@
-129,10
+141,6
@@
class GHashPrinter:
return "map"
def pretty_printer_lookup (val):
return "map"
def pretty_printer_lookup (val):
- if is_g_type_instance (val):
- return GTypePrettyPrinter (val)
-
-def pretty_printer_lookup (val):
# None yet, want things like hash table and list
type = val.type.unqualified()
# None yet, want things like hash table and list
type = val.type.unqualified()