mirror of https://github.com/xemu-project/xemu.git
hw/net: Avoid casting non-const pointer, use address_space_write()
The NetReceive prototype gets a const buffer: typedef ssize_t (NetReceive)(NetClientState *, const uint8_t *, size_t); We already have the address_space_write() method to write a const buffer to an address space. Use it to avoid: hw/net/i82596.c: In function ‘i82596_receive’: hw/net/i82596.c:644:54: error: passing argument 4 of ‘address_space_rw’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] This commit was produced with the included Coccinelle script scripts/coccinelle/exec_rw_const. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
parent
daa3dda43a
commit
4ef044cb14
|
@ -787,8 +787,7 @@ static ssize_t dp8393x_receive(NetClientState *nc, const uint8_t * buf,
|
||||||
/* Put packet into RBA */
|
/* Put packet into RBA */
|
||||||
DPRINTF("Receive packet at %08x\n", dp8393x_crba(s));
|
DPRINTF("Receive packet at %08x\n", dp8393x_crba(s));
|
||||||
address = dp8393x_crba(s);
|
address = dp8393x_crba(s);
|
||||||
address_space_rw(&s->as, address,
|
address_space_write(&s->as, address, MEMTXATTRS_UNSPECIFIED, buf, rx_len);
|
||||||
MEMTXATTRS_UNSPECIFIED, (uint8_t *)buf, rx_len, 1);
|
|
||||||
address += rx_len;
|
address += rx_len;
|
||||||
address_space_rw(&s->as, address,
|
address_space_rw(&s->as, address,
|
||||||
MEMTXATTRS_UNSPECIFIED, (uint8_t *)&checksum, 4, 1);
|
MEMTXATTRS_UNSPECIFIED, (uint8_t *)&checksum, 4, 1);
|
||||||
|
|
|
@ -640,8 +640,8 @@ ssize_t i82596_receive(NetClientState *nc, const uint8_t *buf, size_t sz)
|
||||||
}
|
}
|
||||||
rba = get_uint32(rbd + 8);
|
rba = get_uint32(rbd + 8);
|
||||||
/* printf("rba is 0x%x\n", rba); */
|
/* printf("rba is 0x%x\n", rba); */
|
||||||
address_space_rw(&address_space_memory, rba,
|
address_space_write(&address_space_memory, rba,
|
||||||
MEMTXATTRS_UNSPECIFIED, (void *)buf, num, 1);
|
MEMTXATTRS_UNSPECIFIED, buf, num);
|
||||||
rba += num;
|
rba += num;
|
||||||
buf += num;
|
buf += num;
|
||||||
len -= num;
|
len -= num;
|
||||||
|
|
|
@ -9,6 +9,20 @@
|
||||||
--dir .
|
--dir .
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// Use address_space_write instead of casting to non-const
|
||||||
|
@@
|
||||||
|
type T;
|
||||||
|
const T *V;
|
||||||
|
expression E1, E2, E3, E4;
|
||||||
|
@@
|
||||||
|
(
|
||||||
|
- address_space_rw(E1, E2, E3, (T *)V, E4, 1)
|
||||||
|
+ address_space_write(E1, E2, E3, V, E4)
|
||||||
|
|
|
||||||
|
- address_space_rw(E1, E2, E3, (void *)V, E4, 1)
|
||||||
|
+ address_space_write(E1, E2, E3, V, E4)
|
||||||
|
)
|
||||||
|
|
||||||
// Remove useless cast
|
// Remove useless cast
|
||||||
@@
|
@@
|
||||||
expression E1, E2, E3, E4;
|
expression E1, E2, E3, E4;
|
||||||
|
|
Loading…
Reference in New Issue