Saves tons of casts.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
else
len = 1;
- if (umoven(tcp, addr, len * sizeof(data[0]), (char *) data) < 0) {
+ if (umoven(tcp, addr, len * sizeof(data[0]), data) < 0) {
tprintf("%#lx", addr);
return;
}
extern void get_regs(pid_t pid);
extern int get_scno(struct tcb *tcp);
-extern int umoven(struct tcb *, long, unsigned int, char *);
+extern int umoven(struct tcb *, long, unsigned int, void *);
#define umove(pid, addr, objp) \
- umoven((pid), (addr), sizeof(*(objp)), (char *) (objp))
+ umoven((pid), (addr), sizeof(*(objp)), (void *) (objp))
extern int umovestr(struct tcb *, long, unsigned int, char *);
extern int upeek(int pid, long, long *);
#if defined(SPARC) || defined(SPARC64) || defined(IA64) || defined(SH)
tprintf(", %#lx", arg);
continue;
}
- if (umoven(tcp, arg, fdsize, (char *) fds) < 0) {
+ if (umoven(tcp, arg, fdsize, fds) < 0) {
tprints(", [?]");
continue;
}
int first = 1;
arg = args[i+1];
- if (!arg || umoven(tcp, arg, fdsize, (char *) fds) < 0)
+ if (!arg || umoven(tcp, arg, fdsize, fds) < 0)
continue;
for (j = 0;; j++) {
j = next_set_bit(fds, j, nfds);
{
long args[5];
- if (umoven(tcp, tcp->u_arg[0], sizeof args, (char *) args) < 0) {
+ if (umoven(tcp, tcp->u_arg[0], sizeof args, args) < 0) {
tprints("[...]");
return 0;
}
tprints("...");
break;
}
- if (umoven(tcp, cur, sizeof_iov, (char *) &iov) < 0) {
+ if (umoven(tcp, cur, sizeof_iov, &iov) < 0) {
tprints("?");
failed = 1;
break;
for (i = 0; i < len; ++i) {
if (i)
tprints(", ");
- if (umoven(tcp, addr + i * sizeof_seg, sizeof_seg,
- (char *) &seg) < 0) {
+ if (umoven(tcp, addr + i * sizeof_seg, sizeof_seg, &seg) < 0) {
tprints("?");
failed = 1;
break;
*/
int i;
unsigned narrow_arg[6];
- if (umoven(tcp, tcp->u_arg[0], sizeof(narrow_arg), (char *) narrow_arg) == -1)
+ if (umoven(tcp, tcp->u_arg[0], sizeof(narrow_arg), narrow_arg) == -1)
return 0;
for (i = 0; i < 6; i++)
u_arg[i] = (unsigned long) narrow_arg[i];
/* We are here only in personality 1 (i386) */
int i;
unsigned narrow_arg[6];
- if (umoven(tcp, tcp->u_arg[0], sizeof(narrow_arg), (char *) narrow_arg) == -1)
+ if (umoven(tcp, tcp->u_arg[0], sizeof(narrow_arg), narrow_arg) == -1)
return 0;
for (i = 0; i < 6; ++i)
u_arg[i] = (unsigned long) narrow_arg[i];
#else
- if (umoven(tcp, tcp->u_arg[0], sizeof(u_arg), (char *) u_arg) == -1)
+ if (umoven(tcp, tcp->u_arg[0], sizeof(u_arg), u_arg) == -1)
return 0;
#endif
return print_mmap(tcp, u_arg, (unsigned long) u_arg[5]);
int i;
unsigned narrow_arg[6];
unsigned long long offset;
- if (umoven(tcp, tcp->u_arg[0], sizeof(narrow_arg), (char *) narrow_arg) == -1)
+ if (umoven(tcp, tcp->u_arg[0], sizeof(narrow_arg), narrow_arg) == -1)
return 0;
for (i = 0; i < 5; i++)
u_arg[i] = (unsigned long) narrow_arg[i];
tprints("...");
break;
}
- if (umoven(tcp, cur, sizeof(n), (char *) &n) < 0) {
+ if (umoven(tcp, cur, sizeof(n), &n) < 0) {
tprints("?");
failed = 1;
break;
#if !defined(SPARC) && !defined(SPARC64) && !defined(SH) && !defined(IA64)
int fds[2];
- if (umoven(tcp, tcp->u_arg[0], sizeof fds, (char *) fds) < 0)
+ if (umoven(tcp, tcp->u_arg[0], sizeof fds, fds) < 0)
tprints("[...]");
else
tprintf("[%u, %u]", fds[0], fds[1]);
tprintf(", %#lx", tcp->u_arg[3]);
return 0;
}
- if (umoven(tcp, tcp->u_arg[3], sizeof fds, (char *) fds) < 0)
+ if (umoven(tcp, tcp->u_arg[3], sizeof fds, fds) < 0)
tprints(", [...]");
else
tprintf(", [%u, %u]", fds[0], fds[1]);
args = tcp->u_arg;
if (s->sys_func == sys_oldselect) {
if (umoven(tcp, tcp->u_arg[0], sizeof oldargs,
- (char*) oldargs) < 0)
+ oldargs) < 0)
{
fprintf(stderr, "umoven() failed\n");
return 0;
for (i = 1; i <= 3; ++i) {
if (args[i] == 0)
continue;
- if (umoven(tcp, args[i], fdsize, (char *) fds) < 0) {
+ if (umoven(tcp, args[i], fdsize, fds) < 0) {
fprintf(stderr, "umoven() failed\n");
continue;
}
return 0;
for (cur = start; cur < end; cur += sizeof(fds))
- if ((umoven(tcp, cur, sizeof fds, (char *) &fds) == 0)
+ if ((umoven(tcp, cur, sizeof fds, &fds) == 0)
&& fdmatch(tcp, fds.fd))
return 1;
goto out;
allocated = (len > max_strlen) ? max_strlen : len;
if ((buf = malloc(allocated)) == NULL ||
- umoven(tcp, addr, allocated, (char *) buf) < 0) {
+ umoven(tcp, addr, allocated, buf) < 0) {
tprintf("%#lx", addr);
goto out;
}
/* Fetch remaining words of signal mask, located
immediately before. */
addr -= sizeof(mask) - sizeof(long);
- if (umoven(tcp, addr, sizeof(mask) - sizeof(long), (char *) &mask[1]) < 0)
+ if (umoven(tcp, addr, sizeof(mask) - sizeof(long), &mask[1]) < 0)
return 0;
tprints("{mask=");
tprintsigmask_addr("", mask);
struct ifreq ifra[nifra];
if (umoven(tcp, (unsigned long) ifc.ifc_buf,
- sizeof(ifra), (char *) ifra) < 0) {
+ sizeof(ifra), ifra) < 0) {
tprintf("%lx}", (unsigned long) ifc.ifc_buf);
return 1;
}
tprints("...");
break;
}
- if (umoven(tcp, cur, sizeof fds, (char *) &fds) < 0) {
+ if (umoven(tcp, cur, sizeof fds, &fds) < 0) {
tprints("?");
failed = 1;
break;
outptr = outstr;
for (cur = start; cur < end; cur += sizeof(fds)) {
- if (umoven(tcp, cur, sizeof fds, (char *) &fds) < 0) {
+ if (umoven(tcp, cur, sizeof fds, &fds) < 0) {
if (outptr < end_outstr - 2)
*outptr++ = '?';
failed = 1;
for (i = 0; i < nargs; ++i) {
if (umoven(tcp, (unsigned long) ia64_rse_skip_regs(out0, i),
- sizeof(long), (char *) &tcp->u_arg[i]) < 0)
+ sizeof(long), &tcp->u_arg[i]) < 0)
return -1;
}
} else {
if (nargs > 4) {
umoven(tcp, mips_REG_SP + 4 * 4,
(nargs - 4) * sizeof(tcp->u_arg[0]),
- (char *)(tcp->u_arg + 4));
+ &tcp->u_arg[4]);
}
#elif defined(POWERPC)
(void)i;
size = sizeof(int) * (unsigned long) info.nlen;
name = (size / sizeof(int) != (unsigned long) info.nlen) ? NULL : malloc(size);
if (name == NULL ||
- umoven(tcp, (unsigned long) info.name, size, (char *) name) < 0) {
+ umoven(tcp, (unsigned long) info.name, size, name) < 0) {
free(name);
if (entering(tcp))
tprintf("{%p, %d, %p, %p, %p, %lu}",
tprints("...");
break;
}
- if (umoven(tcp, cur, sizeof(gid), (char *) &gid) < 0) {
+ if (umoven(tcp, cur, sizeof(gid), &gid) < 0) {
tprints("?");
failed = 1;
break;
tprints("...");
break;
}
- if (umoven(tcp, cur, sizeof(gid), (char *) &gid) < 0) {
+ if (umoven(tcp, cur, sizeof(gid), &gid) < 0) {
tprints("?");
failed = 1;
break;
fprintf(stderr, "Out of memory\n");
return;
}
- if (umoven(tcp, addr, size, (char *) iov) >= 0) {
+ if (umoven(tcp, addr, size, iov) >= 0) {
for (i = 0; i < len; i++) {
/* include the buffer number to make it easy to
* match up the trace with the source */
strsize = len + 16;
}
- if (umoven(tcp, addr, len, (char *) str) < 0)
+ if (umoven(tcp, addr, len, str) < 0)
return;
/* Space-pad to 16 bytes */
#define PAGMASK (~(PAGSIZ - 1))
/*
* move `len' bytes of data from process `pid'
- * at address `addr' to our space at `laddr'
+ * at address `addr' to our space at `our_addr'
*/
int
-umoven(struct tcb *tcp, long addr, unsigned int len, char *laddr)
+umoven(struct tcb *tcp, long addr, unsigned int len, void *our_addr)
{
+ char *laddr = our_addr;
int pid = tcp->pid;
unsigned int n, m, nread;
union {
tprints("NULL");
else if (!verbose(tcp))
tprintf("%#lx", tcp->u_arg[1]);
- else if (umoven(tcp, tcp->u_arg[1], 2 * wordsize, (char *) &u) < 0)
+ else if (umoven(tcp, tcp->u_arg[1], 2 * wordsize, &u) < 0)
tprints("[?, ?]");
else if (wordsize == sizeof u.utl[0]) {
tprintf("[%s,", sprinttime(u.utl[0]));