[PATCH 20/23] shell.c: Add cast to match printf() expectations for width specifier

Joel Sherrill joel.sherrill at oarcorp.com
Wed Sep 3 15:26:14 UTC 2014


---
 cpukit/libmisc/shell/shell.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/cpukit/libmisc/shell/shell.c b/cpukit/libmisc/shell/shell.c
index a94724f..eeb60dc 100644
--- a/cpukit/libmisc/shell/shell.c
+++ b/cpukit/libmisc/shell/shell.c
@@ -306,7 +306,12 @@ static int rtems_shell_line_editor(
 
         case 7:                         /* Control-G */
           if (output) {
-            fprintf(out,"\r%s%*c", prompt, strlen (line), ' ');
+            /*
+             * The (int) cast is needed because the width specifier (%*)
+             * must be an int, but strlen() returns a size_t. Without
+             * the case, the result is a printf() format warning.
+             */
+            fprintf(out,"\r%s%*c", prompt, (int) strlen (line), ' ');
             fprintf(out,"\r%s\x7", prompt);
           }
           memset (line, '\0', strlen(line));
-- 
1.9.3




More information about the devel mailing list