Hi Eli, On Friday 11 September 2009, Eli Zaretskii wrote: > I have one more small request: > > + /* Check if the user provided a syscall name or a number. */ > > + syscall_number = (int) strtol (cur_name, &endptr, 10); > > This forces the user to specify the system call numbers in decimal. > However, sometimes it might be more convenient to use hex. For > example, I'm planning to add support for this to the DJGPP port, where > the various software interrupts and their functions are known to > people by their hex numbers, e.g. Interrupt 0x21 function 0x2a is the > DOS system call to get the system clock date. Asking the users to > translate those into decimal would be a nuisance. > > So can we use zero instead of 10 for the last argument of this call to > strtol? Sure, I should have used zero since the start. Sorry about that, it's fixed (and tested) now. > Finally, a minor nit: > > + while (*arg != '\0') > > + { > > + int i, syscall_number; > > + char *endptr; > > + char cur_name[128]; > > + struct syscall s; > > + > > + /* Skip whitespace. */ > > + while (isspace (*arg)) > > + arg++; > > + > > + for (i = 0; arg[i] && !isspace (arg[i]); ++i) > > + cur_name[i] = arg[i]; > > + cur_name[i] = '\0'; > > + arg += i; > > The last loop does not take care not to overrun the 128-character > limit that cur_name[] imposes on the length of syscall names, and will > happily smash the stack if GDB is fed a very long string. Ops, sorry about that too :-)... Thank you for pointing this nit, I've fixed it too (and tested, of course). What about the patch now? Ok to check in? Regards, -- Sérgio Durigan Júnior Linux on Power Toolchain - Software Engineer Linux Technology Center - LTC IBM Brazil