b2cccb34ec821993154e7777ee2e5724b1b935fc
[platform/upstream/glib.git] / glib / glib.py
1 import gdb
2
3 # This is not quite right, as local vars may override symname
4 def read_global_var (symname):
5     return gdb.selected_frame().read_var(symname)
6
7 def g_quark_to_string (quark):
8     if quark == None:
9         return None
10     quark = long(quark)
11     if quark == 0:
12         return None
13     val = read_global_var ("g_quarks")
14     max_q = long(read_global_var ("g_quark_seq_id"))
15     if quark < max_q:
16         return val[quark].string()
17     return None
18
19 def pretty_printer_lookup (val):
20     # None yet, want things like hash table and list
21     return None
22
23 def register (obj):
24     if obj == None:
25         obj = gdb
26
27     obj.pretty_printers.append(pretty_printer_lookup)