i386-freebsd.c (286937) | i386-freebsd.c (286938) |
---|---|
1/* 2 * Copyright 1997 Sean Eric Fagan 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. --- 17 unchanged lines hidden (view full) --- 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32#ifndef lint 33static const char rcsid[] = | 1/* 2 * Copyright 1997 Sean Eric Fagan 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. --- 17 unchanged lines hidden (view full) --- 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32#ifndef lint 33static const char rcsid[] = |
34 "$FreeBSD: head/usr.bin/truss/i386-fbsd.c 286937 2015-08-19 19:59:42Z jhb $"; | 34 "$FreeBSD: head/usr.bin/truss/i386-fbsd.c 286938 2015-08-19 20:02:03Z jhb $"; |
35#endif /* not lint */ 36 37/* 38 * FreeBSD/i386-specific system call handling. This is probably the most 39 * complex part of the entire truss program, although I've got lots of 40 * it handled relatively cleanly now. The system call names are generated 41 * automatically, thanks to /usr/src/sys/kern/syscalls.master. The 42 * names used for the various structures are confusing, I sadly admit. --- 251 unchanged lines hidden (view full) --- 294 asprintf(&fsc->s_args[i], "0x%lx", fsc->args[i]); 295 } else { 296 /* 297 * Here, we only look for arguments that have OUT masked in -- 298 * otherwise, they were handled in the syscall_entry function. 299 */ 300 for (i = 0; i < sc->nargs; i++) { 301 char *temp; | 35#endif /* not lint */ 36 37/* 38 * FreeBSD/i386-specific system call handling. This is probably the most 39 * complex part of the entire truss program, although I've got lots of 40 * it handled relatively cleanly now. The system call names are generated 41 * automatically, thanks to /usr/src/sys/kern/syscalls.master. The 42 * names used for the various structures are confusing, I sadly admit. --- 251 unchanged lines hidden (view full) --- 294 asprintf(&fsc->s_args[i], "0x%lx", fsc->args[i]); 295 } else { 296 /* 297 * Here, we only look for arguments that have OUT masked in -- 298 * otherwise, they were handled in the syscall_entry function. 299 */ 300 for (i = 0; i < sc->nargs; i++) { 301 char *temp; |
302 |
|
302 if (sc->args[i].type & OUT) { 303 /* 304 * If an error occurred, then don't bother 305 * getting the data; it may not be valid. 306 */ 307 if (errorp) { 308 asprintf(&temp, "0x%lx", 309 fsc->args[sc->args[i].offset]); --- 24 unchanged lines hidden --- | 303 if (sc->args[i].type & OUT) { 304 /* 305 * If an error occurred, then don't bother 306 * getting the data; it may not be valid. 307 */ 308 if (errorp) { 309 asprintf(&temp, "0x%lx", 310 fsc->args[sc->args[i].offset]); --- 24 unchanged lines hidden --- |