]> xenbits.xensource.com Git - libvirt.git/commitdiff
virsh: fix regression in log to file
authorSupriya Kannery <supriyak@in.ibm.com>
Sat, 30 Apr 2011 10:56:14 +0000 (16:26 +0530)
committerEric Blake <eblake@redhat.com>
Sat, 30 Apr 2011 16:28:02 +0000 (10:28 -0600)
Commit 36deff04 introduced a regression due to which virsh is not able
to log to a file - msg_buf was changed from an array to a pointer
without corresponding change to usage of "sizeof()".

Fix regression in virsh logging

Signed-off-by: Supriya Kannery <supriyak@in.ibm.com>
AUTHORS
tools/virsh.c

diff --git a/AUTHORS b/AUTHORS
index 877fb03ac716dbd0595aadf6a3750ac1dd036f51..b951b4996edc2f83167e562038175fcba26cd95e 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -169,6 +169,7 @@ Patches have also been contributed by:
   Richard Laager       <rlaager@wiktel.com>
   Mark Wu              <dwu@redhat.com>
   Yufang Zhang         <yuzhang@redhat.com>
+  Supriya Kannery      <supriyak@in.ibm.com>
 
   [....send patches to get your name here....]
 
index 506572bb493960d65986d9641e95356bb72e8e21..3d4ed2ffe6c20c4755d635d7a60bac5afcb247f4 100644 (file)
@@ -12227,7 +12227,8 @@ vshOpenLogFile(vshControl *ctl)
  * Outputting an error to log file.
  */
 static void
-vshOutputLogFile(vshControl *ctl, int log_level, const char *msg_format, va_list ap)
+vshOutputLogFile(vshControl *ctl, int log_level, const char *msg_format,
+                 va_list ap)
 {
     char *msg_buf;
     const char *lvl = "";
@@ -12246,7 +12247,7 @@ vshOutputLogFile(vshControl *ctl, int log_level, const char *msg_format, va_list
     */
     gettimeofday(&stTimeval, NULL);
     stTm = localtime(&stTimeval.tv_sec);
-    snprintf(msg_buf, sizeof(msg_buf),
+    snprintf(msg_buf, MSG_BUFFER,
              "[%d.%02d.%02d %02d:%02d:%02d ",
              (1900 + stTm->tm_year),
              (1 + stTm->tm_mon),
@@ -12254,7 +12255,7 @@ vshOutputLogFile(vshControl *ctl, int log_level, const char *msg_format, va_list
              (stTm->tm_hour),
              (stTm->tm_min),
              (stTm->tm_sec));
-    snprintf(msg_buf + strlen(msg_buf), sizeof(msg_buf) - strlen(msg_buf),
+    snprintf(msg_buf + strlen(msg_buf), MSG_BUFFER - strlen(msg_buf),
              "%s] ", SIGN_NAME);
     switch (log_level) {
         case VSH_ERR_DEBUG:
@@ -12276,13 +12277,13 @@ vshOutputLogFile(vshControl *ctl, int log_level, const char *msg_format, va_list
             lvl = LVL_DEBUG;
             break;
     }
-    snprintf(msg_buf + strlen(msg_buf), sizeof(msg_buf) - strlen(msg_buf),
+    snprintf(msg_buf + strlen(msg_buf), MSG_BUFFER - strlen(msg_buf),
              "%s ", lvl);
-    vsnprintf(msg_buf + strlen(msg_buf), sizeof(msg_buf) - strlen(msg_buf),
+    vsnprintf(msg_buf + strlen(msg_buf), MSG_BUFFER - strlen(msg_buf),
               msg_format, ap);
 
     if (msg_buf[strlen(msg_buf) - 1] != '\n')
-        snprintf(msg_buf + strlen(msg_buf), sizeof(msg_buf) - strlen(msg_buf), "\n");
+        snprintf(msg_buf + strlen(msg_buf), MSG_BUFFER - strlen(msg_buf), "\n");
 
     /* write log */
     if (safewrite(ctl->log_fd, msg_buf, strlen(msg_buf)) < 0) {