From 7c62ddad46bef2b752523eaa9157633e37dca140 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Fri, 13 Mar 2009 15:30:21 +0000 Subject: Don't truncate strings with embedded NULLs Instead, replace the NULLs by spaces so we don't lose data when converting a device's SDP record to XML. --- common/sdp-xml.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/common/sdp-xml.c b/common/sdp-xml.c index 0403dcdd..608de769 100644 --- a/common/sdp-xml.c +++ b/common/sdp-xml.c @@ -239,9 +239,8 @@ static void convert_raw_data_to_xml(sdp_data_t *value, int indent_level, hex = 0; for (i = 0; i < length; i++) { - if (value->val.str[i] == '\0') - break; - if (!isprint(value->val.str[i])) { + if (!isprint(value->val.str[i]) && + value->val.str[i] != '\0') { hex = 1; break; } @@ -304,7 +303,9 @@ static void convert_raw_data_to_xml(sdp_data_t *value, int indent_level, strBuf[j++] = 'o'; strBuf[j++] = 't'; } - else { + else if (value->val.str[i] == '\0') { + strBuf[j++] = ' '; + } else { strBuf[j++] = value->val.str[i]; } } -- cgit