libxc: remove unnecessary double indirection from xc_readconsolering
authorIan Campbell <ian.campbell@citrix.com>
Mon, 18 Oct 2010 15:52:37 +0000 (16:52 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Mon, 18 Oct 2010 15:52:37 +0000 (16:52 +0100)
The double indirection has been unnecessary since 9867:ec61a8c25429,
there is no possibility of the buffer being reallocated now.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/console/daemon/io.c
tools/libxc/xc_misc.c
tools/libxc/xenctrl.h
tools/libxl/libxl.c
tools/python/xen/lowlevel/xc/xc.c

index 691b0f27860754a9d846187488703e1a800c7fb2..4b7f58f4a0969bd879b739da4507a8b43a9848c7 100644 (file)
@@ -887,7 +887,7 @@ static void handle_hv_logs(void)
        if ((port = xc_evtchn_pending(xce_handle)) == -1)
                return;
 
-       if (xc_readconsolering(xch, &bufptr, &size, 0, 1, &index) == 0 && size > 0) {
+       if (xc_readconsolering(xch, bufptr, &size, 0, 1, &index) == 0 && size > 0) {
                int logret;
                if (log_time_hv)
                        logret = write_with_timestamp(log_hv_fd, buffer, size,
index c2efa377c1e6aa24b89d44117d149924780f81da..a5f179a40334d7a5795ead3eba1d6daa3eb0b961 100644 (file)
 #include <xen/hvm/hvm_op.h>
 
 int xc_readconsolering(xc_interface *xch,
-                       char **pbuffer,
+                       char *buffer,
                        unsigned int *pnr_chars,
                        int clear, int incremental, uint32_t *pindex)
 {
     int ret;
     DECLARE_SYSCTL;
-    char *buffer = *pbuffer;
     unsigned int nr_chars = *pnr_chars;
 
     sysctl.cmd = XEN_SYSCTL_readconsole;
index fe665485905461dcd084f2a6c6e77bfaf7b4568f..1662c094c9700ad7d789a40957284d2b390473c6 100644 (file)
@@ -729,7 +729,7 @@ int xc_physdev_pci_access_modify(xc_interface *xch,
                                  int enable);
 
 int xc_readconsolering(xc_interface *xch,
-                       char **pbuffer,
+                       char *buffer,
                        unsigned int *pnr_chars,
                        int clear, int incremental, uint32_t *pindex);
 
index ba274892ef67d527d312b7a8a138dde12a10c148..c2312648565d7cecc4d480c84be64ab923d8b298 100644 (file)
@@ -3464,7 +3464,7 @@ int libxl_xen_console_read_line(libxl_ctx *ctx,
     int ret;
 
     memset(cr->buffer, 0, cr->size);
-    ret = xc_readconsolering(ctx->xch, &cr->buffer, &cr->count,
+    ret = xc_readconsolering(ctx->xch, cr->buffer, &cr->count,
                              cr->clear, cr->incremental, &cr->index);
     if (ret < 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "reading console ring buffer");
index 6e9d3e1ac5f563ca7e0fe523acbfb22d9fa32f4d..02cac6f27c96797c9aa0a30fdba38e1c14f8dc2c 100644 (file)
@@ -1116,7 +1116,7 @@ static PyObject *pyxc_readconsolering(XcObject *self,
          !str )
         return NULL;
 
-    ret = xc_readconsolering(self->xc_handle, &str, &count, clear,
+    ret = xc_readconsolering(self->xc_handle, str, &count, clear,
                              incremental, &index);
     if ( ret < 0 )
         return pyxc_error_to_exception(self->xc_handle);
@@ -1133,7 +1133,7 @@ static PyObject *pyxc_readconsolering(XcObject *self,
 
         str = ptr + count;
         count = size - count;
-        ret = xc_readconsolering(self->xc_handle, &str, &count, clear,
+        ret = xc_readconsolering(self->xc_handle, str, &count, clear,
                                  1, &index);
         if ( ret < 0 )
             break;