<p dir="ltr">Is there any reason to not declare these variables as unsigned (int)? IIUC strlen returns an unsigned integral. Sign-correctnesd doesn't hurt and I saw many bugs caused by the lack of it (the last one being pushed few says ago in the Chromium beowser).</p>
<div class="gmail_quote">El 1/9/2015 18:41, "Joel Sherrill" <<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>> escribió:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Updates #2405.<br>
---<br>
 cpukit/libmisc/dumpbuf/dumpbuf.c | 6 ++++--<br>
 1 file changed, 4 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/cpukit/libmisc/dumpbuf/dumpbuf.c b/cpukit/libmisc/dumpbuf/dumpbuf.c<br>
index 9d34d42..36a8656 100644<br>
--- a/cpukit/libmisc/dumpbuf/dumpbuf.c<br>
+++ b/cpukit/libmisc/dumpbuf/dumpbuf.c<br>
@@ -62,18 +62,20 @@ static inline void Dump_Line(<br>
<br>
   int  i;<br>
   char line_buffer[120];<br>
+  int  len;<br>
<br>
   line_buffer[0] = '\0';<br>
<br>
   for( i=0 ; i<length ; i++ )<br>
-    sprintf( line_buffer, "%s%02x ", line_buffer, buffer[ i ] );<br>
+    sprintf( &line_buffer[i*3], "%02x ", buffer[ i ] );<br>
<br>
   for( ; i<16 ; i++ )<br>
     strcat( line_buffer, "   " );<br>
<br>
   strcat( line_buffer, "|" );<br>
+  len = strlen( line_buffer );<br>
   for( i=0 ; i<length ; i++ )<br>
-    sprintf( line_buffer, "%s%c", line_buffer,<br>
+    sprintf( &line_buffer[len+i], "%c",<br>
              isprint( buffer[ i ] ) ? buffer[ i ] : '.' );<br>
<br>
   for( ; i<16 ; i++ )<br>
--<br>
1.8.3.1<br>
<br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</blockquote></div>