From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: qemu-devel@nongnu.org, "Prasad J Pandit" <pjp@fedoraproject.org>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>
Cc: "Corey Minyard" <minyard@acm.org>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Samuel Thibault" <samuel.thibault@ens-lyon.org>,
"Li Zhijian" <lizhijian@cn.fujitsu.com>,
"Amit Shah" <amit@kernel.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Jason Wang" <jasowang@redhat.com>,
"Cornelia Huck" <cohuck@redhat.com>,
"Halil Pasic" <pasic@linux.ibm.com>,
"Christian Borntraeger" <borntraeger@de.ibm.com>,
qemu-s390x@nongnu.org, "Paul Durrant" <paul.durrant@citrix.com>,
qemu-ppc@nongnu.org, "Gerd Hoffmann" <kraxel@redhat.com>,
"Pavel Dovgalyuk" <pavel.dovgaluk@ispras.ru>,
"Zhang Chen" <zhangckid@gmail.com>,
"Anthony Perard" <anthony.perard@citrix.com>,
xen-devel@lists.xenproject.org,
"Stefan Berger" <stefanb@linux.ibm.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"David Gibson" <david@gibson.dropbear.id.au>
Subject: [PATCH v3 04/25] chardev: Let qemu_chr_be_can_write() return a size_t types
Date: Wed, 20 Feb 2019 02:02:11 +0100 [thread overview]
Message-ID: <20190220010232.18731-5-philmd@redhat.com> (raw)
In-Reply-To: <20190220010232.18731-1-philmd@redhat.com>
In the previous commit we added an assert to be sure than
qemu_chr_be_can_write() will never return a negative value.
We can now change its prototype to return a size_t.
Adapt the backends accordingly.
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
chardev/baum.c | 6 +++---
chardev/char-fd.c | 2 +-
chardev/char-pty.c | 4 ++--
chardev/char-socket.c | 7 ++++---
chardev/char-udp.c | 4 ++--
chardev/char-win.c | 2 +-
chardev/char.c | 2 +-
chardev/msmouse.c | 4 ++--
chardev/spice.c | 2 +-
chardev/wctablet.c | 4 ++--
hw/bt/hci-csr.c | 2 +-
include/chardev/char-fd.h | 2 +-
include/chardev/char.h | 2 +-
ui/console.c | 6 +++---
14 files changed, 25 insertions(+), 24 deletions(-)
diff --git a/chardev/baum.c b/chardev/baum.c
index 78b0c87625..1d69d62158 100644
--- a/chardev/baum.c
+++ b/chardev/baum.c
@@ -265,7 +265,7 @@ static int baum_deferred_init(BaumChardev *baum)
static void baum_chr_accept_input(struct Chardev *chr)
{
BaumChardev *baum = BAUM_CHARDEV(chr);
- int room, first;
+ size_t room, first;
if (!baum->out_buf_used)
return;
@@ -292,7 +292,7 @@ static void baum_write_packet(BaumChardev *baum, const uint8_t *buf, int len)
{
Chardev *chr = CHARDEV(baum);
uint8_t io_buf[1 + 2 * len], *cur = io_buf;
- int room;
+ size_t room;
*cur++ = ESC;
while (len--)
if ((*cur++ = *buf++) == ESC)
@@ -303,7 +303,7 @@ static void baum_write_packet(BaumChardev *baum, const uint8_t *buf, int len)
/* Fits */
qemu_chr_be_write(chr, io_buf, len);
} else {
- int first;
+ size_t first;
uint8_t out;
/* Can't fit all, send what can be, and store the rest. */
qemu_chr_be_write(chr, io_buf, room);
diff --git a/chardev/char-fd.c b/chardev/char-fd.c
index 2421d8e216..0fe2822869 100644
--- a/chardev/char-fd.c
+++ b/chardev/char-fd.c
@@ -43,7 +43,7 @@ static gboolean fd_chr_read(QIOChannel *chan, GIOCondition cond, void *opaque)
{
Chardev *chr = CHARDEV(opaque);
FDChardev *s = FD_CHARDEV(opaque);
- int len;
+ size_t len;
uint8_t buf[CHR_READ_BUF_LEN];
ssize_t ret;
diff --git a/chardev/char-pty.c b/chardev/char-pty.c
index 7777f6ddef..eae25f043b 100644
--- a/chardev/char-pty.c
+++ b/chardev/char-pty.c
@@ -34,7 +34,7 @@
typedef struct {
Chardev parent;
QIOChannel *ioc;
- int read_bytes;
+ size_t read_bytes;
int connected;
GSource *timer_src;
@@ -132,7 +132,7 @@ static gboolean pty_chr_read(QIOChannel *chan, GIOCondition cond, void *opaque)
{
Chardev *chr = CHARDEV(opaque);
PtyChardev *s = PTY_CHARDEV(opaque);
- gsize len;
+ size_t len;
uint8_t buf[CHR_READ_BUF_LEN];
ssize_t ret;
diff --git a/chardev/char-socket.c b/chardev/char-socket.c
index 262a59b64f..4010c343e0 100644
--- a/chardev/char-socket.c
+++ b/chardev/char-socket.c
@@ -60,7 +60,7 @@ typedef struct {
GSource *hup_source;
QCryptoTLSCreds *tls_creds;
TCPChardevState state;
- int max_size;
+ size_t max_size;
int do_telnetopt;
int do_nodelay;
int *read_msgfds;
@@ -493,10 +493,11 @@ static gboolean tcp_chr_read(QIOChannel *chan, GIOCondition cond, void *opaque)
Chardev *chr = CHARDEV(opaque);
SocketChardev *s = SOCKET_CHARDEV(opaque);
uint8_t buf[CHR_READ_BUF_LEN];
- int len, size;
+ size_t len;
+ int size;
if ((s->state != TCP_CHARDEV_STATE_CONNECTED) ||
- s->max_size <= 0) {
+ s->max_size == 0) {
return TRUE;
}
len = sizeof(buf);
diff --git a/chardev/char-udp.c b/chardev/char-udp.c
index b6e399e983..d4f40626e4 100644
--- a/chardev/char-udp.c
+++ b/chardev/char-udp.c
@@ -39,7 +39,7 @@ typedef struct {
uint8_t buf[CHR_READ_BUF_LEN];
int bufcnt;
int bufptr;
- int max_size;
+ size_t max_size;
} UdpChardev;
#define UDP_CHARDEV(obj) OBJECT_CHECK(UdpChardev, (obj), TYPE_CHARDEV_UDP)
@@ -58,7 +58,7 @@ static void udp_chr_flush_buffer(UdpChardev *s)
Chardev *chr = CHARDEV(s);
while (s->max_size > 0 && s->bufptr < s->bufcnt) {
- int n = MIN(s->max_size, s->bufcnt - s->bufptr);
+ size_t n = MIN(s->max_size, s->bufcnt - s->bufptr);
qemu_chr_be_write(chr, &s->buf[s->bufptr], n);
s->bufptr += n;
s->max_size = qemu_chr_be_can_write(chr);
diff --git a/chardev/char-win.c b/chardev/char-win.c
index 05518e0958..30361e8852 100644
--- a/chardev/char-win.c
+++ b/chardev/char-win.c
@@ -29,7 +29,7 @@
static void win_chr_read(Chardev *chr, DWORD len)
{
WinChardev *s = WIN_CHARDEV(chr);
- int max_size = qemu_chr_be_can_write(chr);
+ size_t max_size = qemu_chr_be_can_write(chr);
int ret, err;
uint8_t buf[CHR_READ_BUF_LEN];
DWORD size;
diff --git a/chardev/char.c b/chardev/char.c
index 71ecd32b25..3149cd3ba9 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -156,7 +156,7 @@ int qemu_chr_write(Chardev *s, const uint8_t *buf, int len, bool write_all)
return offset;
}
-int qemu_chr_be_can_write(Chardev *s)
+size_t qemu_chr_be_can_write(Chardev *s)
{
CharBackend *be = s->be;
int receivable_bytes;
diff --git a/chardev/msmouse.c b/chardev/msmouse.c
index 0ffd137ce8..cdb6f86037 100644
--- a/chardev/msmouse.c
+++ b/chardev/msmouse.c
@@ -38,7 +38,7 @@ typedef struct {
bool btns[INPUT_BUTTON__MAX];
bool btnc[INPUT_BUTTON__MAX];
uint8_t outbuf[32];
- int outlen;
+ size_t outlen;
} MouseChardev;
#define TYPE_CHARDEV_MSMOUSE "chardev-msmouse"
@@ -48,7 +48,7 @@ typedef struct {
static void msmouse_chr_accept_input(Chardev *chr)
{
MouseChardev *mouse = MOUSE_CHARDEV(chr);
- int len;
+ size_t len;
len = qemu_chr_be_can_write(chr);
if (len > mouse->outlen) {
diff --git a/chardev/spice.c b/chardev/spice.c
index 173c257949..ad180a8a13 100644
--- a/chardev/spice.c
+++ b/chardev/spice.c
@@ -43,7 +43,7 @@ static int vmc_write(SpiceCharDeviceInstance *sin, const uint8_t *buf, int len)
uint8_t* p = (uint8_t*)buf;
while (len > 0) {
- int can_write = qemu_chr_be_can_write(chr);
+ size_t can_write = qemu_chr_be_can_write(chr);
last_out = MIN(len, can_write);
if (last_out <= 0) {
break;
diff --git a/chardev/wctablet.c b/chardev/wctablet.c
index cf7a08a363..daae570bc7 100644
--- a/chardev/wctablet.c
+++ b/chardev/wctablet.c
@@ -74,7 +74,7 @@ typedef struct {
/* Command to be sent to serial port */
uint8_t outbuf[WC_OUTPUT_BUF_MAX_LEN];
- int outlen;
+ size_t outlen;
int line_speed;
bool send_events;
@@ -186,7 +186,7 @@ static QemuInputHandler wctablet_handler = {
static void wctablet_chr_accept_input(Chardev *chr)
{
TabletChardev *tablet = WCTABLET_CHARDEV(chr);
- int len, canWrite;
+ size_t len, canWrite;
canWrite = qemu_chr_be_can_write(chr);
len = canWrite;
diff --git a/hw/bt/hci-csr.c b/hw/bt/hci-csr.c
index fa6660a113..e837a3fa1f 100644
--- a/hw/bt/hci-csr.c
+++ b/hw/bt/hci-csr.c
@@ -38,7 +38,7 @@ struct csrhci_s {
#define FIFO_LEN 4096
int out_start;
int out_len;
- int out_size;
+ size_t out_size;
uint8_t outfifo[FIFO_LEN * 2];
uint8_t inpkt[FIFO_LEN];
enum {
diff --git a/include/chardev/char-fd.h b/include/chardev/char-fd.h
index e7c2b176f9..36c6b89cee 100644
--- a/include/chardev/char-fd.h
+++ b/include/chardev/char-fd.h
@@ -31,7 +31,7 @@ typedef struct FDChardev {
Chardev parent;
QIOChannel *ioc_in, *ioc_out;
- int max_size;
+ size_t max_size;
} FDChardev;
#define TYPE_CHARDEV_FD "chardev-fd"
diff --git a/include/chardev/char.h b/include/chardev/char.h
index c0b57f7685..0341dd1ba2 100644
--- a/include/chardev/char.h
+++ b/include/chardev/char.h
@@ -173,7 +173,7 @@ Chardev *qemu_chr_new_noreplay(const char *label, const char *filename,
*
* Returns: the number of bytes the front end can receive via @qemu_chr_be_write
*/
-int qemu_chr_be_can_write(Chardev *s);
+size_t qemu_chr_be_can_write(Chardev *s);
/**
* qemu_chr_be_write:
diff --git a/ui/console.c b/ui/console.c
index 6d2282d3e9..42f04e2b37 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -61,8 +61,8 @@ enum TTYState {
typedef struct QEMUFIFO {
uint8_t *buf;
- int buf_size;
- int count, wptr, rptr;
+ size_t buf_size, count;
+ int wptr, rptr;
} QEMUFIFO;
static int qemu_fifo_write(QEMUFIFO *f, const uint8_t *buf, int len1)
@@ -1110,7 +1110,7 @@ static int vc_chr_write(Chardev *chr, const uint8_t *buf, int len)
static void kbd_send_chars(void *opaque)
{
QemuConsole *s = opaque;
- int len;
+ size_t len;
uint8_t buf[16];
len = qemu_chr_be_can_write(s->chr);
--
2.20.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
WARNING: multiple messages have this Message-ID (diff)
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: qemu-devel@nongnu.org, "Prasad J Pandit" <pjp@fedoraproject.org>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>
Cc: "Jason Wang" <jasowang@redhat.com>,
"Anthony Perard" <anthony.perard@citrix.com>,
qemu-ppc@nongnu.org, "Stefan Berger" <stefanb@linux.ibm.com>,
"David Gibson" <david@gibson.dropbear.id.au>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Zhang Chen" <zhangckid@gmail.com>,
xen-devel@lists.xenproject.org,
"Cornelia Huck" <cohuck@redhat.com>,
"Samuel Thibault" <samuel.thibault@ens-lyon.org>,
"Christian Borntraeger" <borntraeger@de.ibm.com>,
"Amit Shah" <amit@kernel.org>,
"Li Zhijian" <lizhijian@cn.fujitsu.com>,
"Corey Minyard" <minyard@acm.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Paul Durrant" <paul.durrant@citrix.com>,
"Halil Pasic" <pasic@linux.ibm.com>,
"Stefano Stabellini" <sstabellini@kernel.org>,
qemu-s390x@nongnu.org,
"Pavel Dovgalyuk" <pavel.dovgaluk@ispras.ru>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>
Subject: [Qemu-devel] [PATCH v3 04/25] chardev: Let qemu_chr_be_can_write() return a size_t types
Date: Wed, 20 Feb 2019 02:02:11 +0100 [thread overview]
Message-ID: <20190220010232.18731-5-philmd@redhat.com> (raw)
In-Reply-To: <20190220010232.18731-1-philmd@redhat.com>
In the previous commit we added an assert to be sure than
qemu_chr_be_can_write() will never return a negative value.
We can now change its prototype to return a size_t.
Adapt the backends accordingly.
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
chardev/baum.c | 6 +++---
chardev/char-fd.c | 2 +-
chardev/char-pty.c | 4 ++--
chardev/char-socket.c | 7 ++++---
chardev/char-udp.c | 4 ++--
chardev/char-win.c | 2 +-
chardev/char.c | 2 +-
chardev/msmouse.c | 4 ++--
chardev/spice.c | 2 +-
chardev/wctablet.c | 4 ++--
hw/bt/hci-csr.c | 2 +-
include/chardev/char-fd.h | 2 +-
include/chardev/char.h | 2 +-
ui/console.c | 6 +++---
14 files changed, 25 insertions(+), 24 deletions(-)
diff --git a/chardev/baum.c b/chardev/baum.c
index 78b0c87625..1d69d62158 100644
--- a/chardev/baum.c
+++ b/chardev/baum.c
@@ -265,7 +265,7 @@ static int baum_deferred_init(BaumChardev *baum)
static void baum_chr_accept_input(struct Chardev *chr)
{
BaumChardev *baum = BAUM_CHARDEV(chr);
- int room, first;
+ size_t room, first;
if (!baum->out_buf_used)
return;
@@ -292,7 +292,7 @@ static void baum_write_packet(BaumChardev *baum, const uint8_t *buf, int len)
{
Chardev *chr = CHARDEV(baum);
uint8_t io_buf[1 + 2 * len], *cur = io_buf;
- int room;
+ size_t room;
*cur++ = ESC;
while (len--)
if ((*cur++ = *buf++) == ESC)
@@ -303,7 +303,7 @@ static void baum_write_packet(BaumChardev *baum, const uint8_t *buf, int len)
/* Fits */
qemu_chr_be_write(chr, io_buf, len);
} else {
- int first;
+ size_t first;
uint8_t out;
/* Can't fit all, send what can be, and store the rest. */
qemu_chr_be_write(chr, io_buf, room);
diff --git a/chardev/char-fd.c b/chardev/char-fd.c
index 2421d8e216..0fe2822869 100644
--- a/chardev/char-fd.c
+++ b/chardev/char-fd.c
@@ -43,7 +43,7 @@ static gboolean fd_chr_read(QIOChannel *chan, GIOCondition cond, void *opaque)
{
Chardev *chr = CHARDEV(opaque);
FDChardev *s = FD_CHARDEV(opaque);
- int len;
+ size_t len;
uint8_t buf[CHR_READ_BUF_LEN];
ssize_t ret;
diff --git a/chardev/char-pty.c b/chardev/char-pty.c
index 7777f6ddef..eae25f043b 100644
--- a/chardev/char-pty.c
+++ b/chardev/char-pty.c
@@ -34,7 +34,7 @@
typedef struct {
Chardev parent;
QIOChannel *ioc;
- int read_bytes;
+ size_t read_bytes;
int connected;
GSource *timer_src;
@@ -132,7 +132,7 @@ static gboolean pty_chr_read(QIOChannel *chan, GIOCondition cond, void *opaque)
{
Chardev *chr = CHARDEV(opaque);
PtyChardev *s = PTY_CHARDEV(opaque);
- gsize len;
+ size_t len;
uint8_t buf[CHR_READ_BUF_LEN];
ssize_t ret;
diff --git a/chardev/char-socket.c b/chardev/char-socket.c
index 262a59b64f..4010c343e0 100644
--- a/chardev/char-socket.c
+++ b/chardev/char-socket.c
@@ -60,7 +60,7 @@ typedef struct {
GSource *hup_source;
QCryptoTLSCreds *tls_creds;
TCPChardevState state;
- int max_size;
+ size_t max_size;
int do_telnetopt;
int do_nodelay;
int *read_msgfds;
@@ -493,10 +493,11 @@ static gboolean tcp_chr_read(QIOChannel *chan, GIOCondition cond, void *opaque)
Chardev *chr = CHARDEV(opaque);
SocketChardev *s = SOCKET_CHARDEV(opaque);
uint8_t buf[CHR_READ_BUF_LEN];
- int len, size;
+ size_t len;
+ int size;
if ((s->state != TCP_CHARDEV_STATE_CONNECTED) ||
- s->max_size <= 0) {
+ s->max_size == 0) {
return TRUE;
}
len = sizeof(buf);
diff --git a/chardev/char-udp.c b/chardev/char-udp.c
index b6e399e983..d4f40626e4 100644
--- a/chardev/char-udp.c
+++ b/chardev/char-udp.c
@@ -39,7 +39,7 @@ typedef struct {
uint8_t buf[CHR_READ_BUF_LEN];
int bufcnt;
int bufptr;
- int max_size;
+ size_t max_size;
} UdpChardev;
#define UDP_CHARDEV(obj) OBJECT_CHECK(UdpChardev, (obj), TYPE_CHARDEV_UDP)
@@ -58,7 +58,7 @@ static void udp_chr_flush_buffer(UdpChardev *s)
Chardev *chr = CHARDEV(s);
while (s->max_size > 0 && s->bufptr < s->bufcnt) {
- int n = MIN(s->max_size, s->bufcnt - s->bufptr);
+ size_t n = MIN(s->max_size, s->bufcnt - s->bufptr);
qemu_chr_be_write(chr, &s->buf[s->bufptr], n);
s->bufptr += n;
s->max_size = qemu_chr_be_can_write(chr);
diff --git a/chardev/char-win.c b/chardev/char-win.c
index 05518e0958..30361e8852 100644
--- a/chardev/char-win.c
+++ b/chardev/char-win.c
@@ -29,7 +29,7 @@
static void win_chr_read(Chardev *chr, DWORD len)
{
WinChardev *s = WIN_CHARDEV(chr);
- int max_size = qemu_chr_be_can_write(chr);
+ size_t max_size = qemu_chr_be_can_write(chr);
int ret, err;
uint8_t buf[CHR_READ_BUF_LEN];
DWORD size;
diff --git a/chardev/char.c b/chardev/char.c
index 71ecd32b25..3149cd3ba9 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -156,7 +156,7 @@ int qemu_chr_write(Chardev *s, const uint8_t *buf, int len, bool write_all)
return offset;
}
-int qemu_chr_be_can_write(Chardev *s)
+size_t qemu_chr_be_can_write(Chardev *s)
{
CharBackend *be = s->be;
int receivable_bytes;
diff --git a/chardev/msmouse.c b/chardev/msmouse.c
index 0ffd137ce8..cdb6f86037 100644
--- a/chardev/msmouse.c
+++ b/chardev/msmouse.c
@@ -38,7 +38,7 @@ typedef struct {
bool btns[INPUT_BUTTON__MAX];
bool btnc[INPUT_BUTTON__MAX];
uint8_t outbuf[32];
- int outlen;
+ size_t outlen;
} MouseChardev;
#define TYPE_CHARDEV_MSMOUSE "chardev-msmouse"
@@ -48,7 +48,7 @@ typedef struct {
static void msmouse_chr_accept_input(Chardev *chr)
{
MouseChardev *mouse = MOUSE_CHARDEV(chr);
- int len;
+ size_t len;
len = qemu_chr_be_can_write(chr);
if (len > mouse->outlen) {
diff --git a/chardev/spice.c b/chardev/spice.c
index 173c257949..ad180a8a13 100644
--- a/chardev/spice.c
+++ b/chardev/spice.c
@@ -43,7 +43,7 @@ static int vmc_write(SpiceCharDeviceInstance *sin, const uint8_t *buf, int len)
uint8_t* p = (uint8_t*)buf;
while (len > 0) {
- int can_write = qemu_chr_be_can_write(chr);
+ size_t can_write = qemu_chr_be_can_write(chr);
last_out = MIN(len, can_write);
if (last_out <= 0) {
break;
diff --git a/chardev/wctablet.c b/chardev/wctablet.c
index cf7a08a363..daae570bc7 100644
--- a/chardev/wctablet.c
+++ b/chardev/wctablet.c
@@ -74,7 +74,7 @@ typedef struct {
/* Command to be sent to serial port */
uint8_t outbuf[WC_OUTPUT_BUF_MAX_LEN];
- int outlen;
+ size_t outlen;
int line_speed;
bool send_events;
@@ -186,7 +186,7 @@ static QemuInputHandler wctablet_handler = {
static void wctablet_chr_accept_input(Chardev *chr)
{
TabletChardev *tablet = WCTABLET_CHARDEV(chr);
- int len, canWrite;
+ size_t len, canWrite;
canWrite = qemu_chr_be_can_write(chr);
len = canWrite;
diff --git a/hw/bt/hci-csr.c b/hw/bt/hci-csr.c
index fa6660a113..e837a3fa1f 100644
--- a/hw/bt/hci-csr.c
+++ b/hw/bt/hci-csr.c
@@ -38,7 +38,7 @@ struct csrhci_s {
#define FIFO_LEN 4096
int out_start;
int out_len;
- int out_size;
+ size_t out_size;
uint8_t outfifo[FIFO_LEN * 2];
uint8_t inpkt[FIFO_LEN];
enum {
diff --git a/include/chardev/char-fd.h b/include/chardev/char-fd.h
index e7c2b176f9..36c6b89cee 100644
--- a/include/chardev/char-fd.h
+++ b/include/chardev/char-fd.h
@@ -31,7 +31,7 @@ typedef struct FDChardev {
Chardev parent;
QIOChannel *ioc_in, *ioc_out;
- int max_size;
+ size_t max_size;
} FDChardev;
#define TYPE_CHARDEV_FD "chardev-fd"
diff --git a/include/chardev/char.h b/include/chardev/char.h
index c0b57f7685..0341dd1ba2 100644
--- a/include/chardev/char.h
+++ b/include/chardev/char.h
@@ -173,7 +173,7 @@ Chardev *qemu_chr_new_noreplay(const char *label, const char *filename,
*
* Returns: the number of bytes the front end can receive via @qemu_chr_be_write
*/
-int qemu_chr_be_can_write(Chardev *s);
+size_t qemu_chr_be_can_write(Chardev *s);
/**
* qemu_chr_be_write:
diff --git a/ui/console.c b/ui/console.c
index 6d2282d3e9..42f04e2b37 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -61,8 +61,8 @@ enum TTYState {
typedef struct QEMUFIFO {
uint8_t *buf;
- int buf_size;
- int count, wptr, rptr;
+ size_t buf_size, count;
+ int wptr, rptr;
} QEMUFIFO;
static int qemu_fifo_write(QEMUFIFO *f, const uint8_t *buf, int len1)
@@ -1110,7 +1110,7 @@ static int vc_chr_write(Chardev *chr, const uint8_t *buf, int len)
static void kbd_send_chars(void *opaque)
{
QemuConsole *s = opaque;
- int len;
+ size_t len;
uint8_t buf[16];
len = qemu_chr_be_can_write(s->chr);
--
2.20.1
next prev parent reply other threads:[~2019-02-20 1:04 UTC|newest]
Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-20 1:02 [PATCH v3 00/25] chardev: Convert qemu_chr_write() to take a size_t argument Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 1:02 ` [PATCH v3 01/25] chardev: Simplify IOWatchPoll::fd_can_read as a GSourceFunc Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 9:45 ` Marc-André Lureau
2019-02-20 9:45 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 1:02 ` [PATCH v3 02/25] chardev: Assert IOCanReadHandler can not be negative Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 10:03 ` Marc-André Lureau
2019-02-20 11:13 ` Philippe Mathieu-Daudé
2019-02-20 11:13 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-22 0:39 ` Philippe Mathieu-Daudé
2019-02-22 0:39 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 10:03 ` Marc-André Lureau
2019-02-20 1:02 ` [PATCH v3 03/25] chardev/wctablet: Use unsigned type to hold unsigned value Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 7:32 ` Gerd Hoffmann
2019-02-20 7:32 ` [Qemu-devel] " Gerd Hoffmann
2019-02-20 10:17 ` Marc-André Lureau
2019-02-20 10:17 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 1:02 ` Philippe Mathieu-Daudé [this message]
2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 04/25] chardev: Let qemu_chr_be_can_write() return a size_t types Philippe Mathieu-Daudé
2019-02-20 10:40 ` Marc-André Lureau
2019-02-20 11:26 ` Philippe Mathieu-Daudé
2019-02-20 11:26 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 13:28 ` Marc-André Lureau
2019-02-20 13:28 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 10:40 ` Marc-André Lureau
2019-02-20 1:02 ` [PATCH v3 05/25] gdbstub: Use size_t for strlen() return value Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 10:57 ` Marc-André Lureau
2019-02-20 10:57 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 1:02 ` [PATCH v3 06/25] gdbstub: Use size_t to hold GDBState::last_packet_len Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 10:59 ` Marc-André Lureau
2019-02-20 10:59 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 1:02 ` [PATCH v3 07/25] gdbstub: Let put_buffer() use size_t Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 11:02 ` Marc-André Lureau
2019-02-20 11:02 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 1:02 ` [PATCH v3 08/25] ui/gtk: Remove pointless cast Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 7:32 ` Gerd Hoffmann
2019-02-20 7:32 ` [Qemu-devel] " Gerd Hoffmann
2019-02-20 1:02 ` [PATCH v3 09/25] vhost-user: Express sizeof with size_t Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 11:06 ` Marc-André Lureau
2019-02-20 11:06 ` Marc-André Lureau
2019-02-20 1:02 ` [PATCH v3 10/25] usb-redir: Verify usbredirparser_write get called with positive count Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 7:32 ` Gerd Hoffmann
2019-02-20 7:32 ` [Qemu-devel] " Gerd Hoffmann
2019-02-20 1:02 ` [PATCH v3 11/25] xen: Let xencons_send() take a 'size' argument Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 11:07 ` Marc-André Lureau
2019-02-20 11:07 ` [Qemu-devel] " Marc-André Lureau
2019-02-21 9:34 ` Paul Durrant
2019-02-21 9:34 ` [Qemu-devel] " Paul Durrant
2019-02-20 1:02 ` [PATCH v3 12/25] xen: Let buffer_append() return the size consumed Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 11:13 ` Marc-André Lureau
2019-02-20 11:13 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 1:02 ` [RFC PATCH v3 13/25] xen: Let buffer_append() return a size_t Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-21 9:54 ` Paul Durrant
2019-02-21 9:54 ` [Qemu-devel] " Paul Durrant
2019-02-20 1:02 ` [PATCH v3 14/25] virtio-serial: Let VirtIOSerialPortClass::have_data() use size_t Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 11:21 ` Marc-André Lureau
2019-02-20 11:21 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 1:02 ` [PATCH v3 15/25] spapr-vty: Let vty_putchars() " Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 1:39 ` David Gibson
2019-02-20 1:39 ` [Qemu-devel] " David Gibson
2019-02-20 1:02 ` [PATCH v3 16/25] tpm: Use size_t to hold sizes Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 11:22 ` Marc-André Lureau
2019-02-20 11:22 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 1:02 ` [PATCH v3 17/25] net/filter-mirror: Use size_t Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 11:23 ` Marc-André Lureau
2019-02-20 11:23 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 1:02 ` [PATCH v3 18/25] s390x/3270: Let insert_IAC_escape_char() use size_t Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 9:37 ` Cornelia Huck
2019-02-20 9:37 ` [Qemu-devel] " Cornelia Huck
2019-02-20 1:02 ` [PATCH v3 19/25] s390/ebcdic: Use size_t to iterate over arrays Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 9:40 ` Cornelia Huck
2019-02-20 9:40 ` [Qemu-devel] " Cornelia Huck
2019-02-20 11:37 ` Philippe Mathieu-Daudé
2019-02-20 11:37 ` Philippe Mathieu-Daudé
2019-02-20 1:02 ` [PATCH v3 20/25] s390x/sclp: Use a const variable to improve readability Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 10:53 ` Cornelia Huck
2019-02-20 10:53 ` [Qemu-devel] " Cornelia Huck
2019-03-08 19:12 ` Philippe Mathieu-Daudé
2019-03-08 19:12 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 1:02 ` [PATCH v3 21/25] s390x/sclp: Use size_t in process_mdb() Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 10:53 ` Cornelia Huck
2019-02-20 10:53 ` [Qemu-devel] " Cornelia Huck
2019-02-20 1:02 ` [PATCH v3 22/25] s390x/sclp: Let write_console_data() take a size_t Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 10:54 ` Cornelia Huck
2019-02-20 10:54 ` [Qemu-devel] " Cornelia Huck
2019-02-20 1:02 ` [PATCH v3 23/25] hw/ipmi: Assert outlen > outpos Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 13:36 ` Marc-André Lureau
2019-02-20 13:36 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 13:36 ` Corey Minyard
2019-02-20 13:36 ` [Qemu-devel] " Corey Minyard
2019-02-20 1:02 ` [PATCH v3 24/25] chardev: Let qemu_chr_fe_write[_all] use size_t type argument Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 13:44 ` Marc-André Lureau
2019-02-20 13:44 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 1:02 ` [PATCH v3 25/25] chardev: Let qemu_chr_write[_all] use size_t Philippe Mathieu-Daudé
2019-02-20 1:02 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-02-20 10:38 ` Daniel P. Berrangé
2019-02-20 10:42 ` Marc-André Lureau
2019-02-20 10:42 ` Marc-André Lureau
2019-02-20 11:31 ` Philippe Mathieu-Daudé
2019-02-20 11:31 ` Philippe Mathieu-Daudé
2019-02-20 10:38 ` Daniel P. Berrangé
2019-02-20 10:53 ` [PATCH v3 00/25] chardev: Convert qemu_chr_write() to take a size_t argument Marc-André Lureau
2019-02-20 10:53 ` [Qemu-devel] " Marc-André Lureau
2019-02-20 10:57 ` Cornelia Huck
2019-02-20 10:57 ` [Qemu-devel] " Cornelia Huck
2019-02-20 11:30 ` Daniel P. Berrangé
2019-02-20 11:30 ` Daniel P. Berrangé
2019-02-20 14:20 ` Eric Blake
2019-02-20 14:20 ` Eric Blake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190220010232.18731-5-philmd@redhat.com \
--to=philmd@redhat.com \
--cc=amit@kernel.org \
--cc=anthony.perard@citrix.com \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=jasowang@redhat.com \
--cc=kraxel@redhat.com \
--cc=lizhijian@cn.fujitsu.com \
--cc=marcandre.lureau@redhat.com \
--cc=minyard@acm.org \
--cc=mst@redhat.com \
--cc=pasic@linux.ibm.com \
--cc=paul.durrant@citrix.com \
--cc=pavel.dovgaluk@ispras.ru \
--cc=pbonzini@redhat.com \
--cc=pjp@fedoraproject.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=samuel.thibault@ens-lyon.org \
--cc=sstabellini@kernel.org \
--cc=stefanb@linux.ibm.com \
--cc=xen-devel@lists.xenproject.org \
--cc=zhangckid@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.