sys_utime(tcp)
struct tcb *tcp;
{
- long ut[2];
+ union {
+ long utl[2];
+ int uti[2];
+ } u;
if (entering(tcp)) {
printpath(tcp, tcp->u_arg[0]);
tprintf("NULL");
else if (!verbose(tcp))
tprintf("%#lx", tcp->u_arg[1]);
- else if (umoven(tcp, tcp->u_arg[1], sizeof ut,
- (char *) ut) < 0)
+ else if (umoven(tcp, tcp->u_arg[1],
+ 2 * personality_wordsize[current_personality],
+ (char *) &u) < 0)
tprintf("[?, ?]");
- else {
- tprintf("[%s,", sprinttime(ut[0]));
- tprintf(" %s]", sprinttime(ut[1]));
+ else if (personality_wordsize[current_personality]
+ == sizeof u.utl[0]) {
+ tprintf("[%s,", sprinttime(u.utl[0]));
+ tprintf(" %s]", sprinttime(u.utl[1]));
+ }
+ else if (personality_wordsize[current_personality]
+ == sizeof u.uti[0]) {
+ tprintf("[%s,", sprinttime(u.uti[0]));
+ tprintf(" %s]", sprinttime(u.uti[1]));
}
+ else
+ abort();
}
return 0;
}