PR python/18438

gdb/ChangeLog:

	* python/py-lazy-string.c (stpy_convert_to_value): Use
	gdbpy_gdb_memory_error not PyExc_MemoryError.
	(gdbpy_create_lazy_string_object): Ditto.

gdb/testsuite/ChangeLog:

	* gdb.python/py-lazy-string.c: New file.
	* gdb.python/py-lazy-string.exp: New file.
	* gdb.python/py-prettyprint.c (lazystring) <len>: New member.
	(main): Update.  Add estring3.
	* gdb.python/py-prettyprint.exp: Add tests for strings at address 0.
	* gdb.python/py-prettyprint.py (pp_ls): Handle length.
This commit is contained in:
Doug Evans 2015-05-26 16:13:04 -07:00
parent b93fd21dcc
commit 4ea6efe936
8 changed files with 107 additions and 6 deletions

View file

@ -152,10 +152,20 @@ class pp_ls (object):
self.val = val
def to_string(self):
length = self.val['len']
if pp_ls_encoding is not None:
return self.val['lazy_str'].lazy_string(encoding = pp_ls_encoding)
if length >= 0:
return self.val['lazy_str'].lazy_string(
encoding = pp_ls_encoding,
length = length)
else:
return self.val['lazy_str'].lazy_string(
encoding = pp_ls_encoding)
else:
return self.val['lazy_str'].lazy_string()
if length >= 0:
return self.val['lazy_str'].lazy_string(length = length)
else:
return self.val['lazy_str'].lazy_string()
def display_hint (self):
return 'string'