From 4f4a5ea455348a92ea6294fc1bdb32981f9e6c21 Mon Sep 17 00:00:00 2001 From: hunt Date: Tue, 4 Jul 2006 10:06:21 +0000 Subject: 2006-07-04 Martin Hunt * syscalls.stp, syscalls2.stp: Use user_string_quoted(). --- tapset/conversions.stp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tapset/conversions.stp') diff --git a/tapset/conversions.stp b/tapset/conversions.stp index 78e936aa..96c7162a 100644 --- a/tapset/conversions.stp +++ b/tapset/conversions.stp @@ -49,3 +49,16 @@ function user_string_warn:string (addr:long) %{ /* pure */ strlcpy (THIS->__retvalue, "", MAXSTRINGLEN); } %} + +function user_string_quoted:string (addr:long) %{ /* pure */ + if (THIS->addr == 0) + strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN); + else { + *THIS->__retvalue = '\"'; + if (_stp_strncpy_from_user (THIS->__retvalue+1, + (const char __user*) (uintptr_t) THIS->addr, MAXSTRINGLEN-2) < 0) + strlcpy (THIS->__retvalue, "", MAXSTRINGLEN); + else + strlcat(THIS->__retvalue, "\"", MAXSTRINGLEN); + } +%} -- cgit