From: Roland McGrath Date: Fri, 4 Jun 2004 02:03:05 +0000 (+0000) Subject: 2004-05-02 Dmitry V. Levin X-Git-Tag: v4.5.18~581 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3dfd799d1181b2235f413d479ca8ce617d9595ba;p=strace 2004-05-02 Dmitry V. Levin * linux/ioctlsort.c (compare): When ioctl codes equal, compare names. (main): Print a note that program output is generated by ioctlsort. --- diff --git a/linux/ioctlsort.c b/linux/ioctlsort.c index ff55d787..735e131e 100644 --- a/linux/ioctlsort.c +++ b/linux/ioctlsort.c @@ -1,5 +1,6 @@ #include #include +#include #include #include @@ -23,7 +24,9 @@ int nioctls = sizeof(ioctls) / sizeof(ioctls[0]); int compare(const void* a, const void* b) { unsigned long code1 = ((struct ioctlent *) a)->code; unsigned long code2 = ((struct ioctlent *) b)->code; - return (code1 > code2) ? 1 : (code1 < code2) ? -1 : 0; + const char *name1 = ((struct ioctlent *) a)->name; + const char *name2 = ((struct ioctlent *) b)->name; + return (code1 > code2) ? 1 : (code1 < code2) ? -1 : strcmp (name1, name2); } @@ -31,6 +34,7 @@ int main(int argc, char** argv) { int i; qsort(ioctls, nioctls, sizeof(ioctls[0]), compare); + puts ("\t/* Generated by ioctlsort */"); for (i = 0; i < nioctls; i++) printf("\t{\"%s\",\t\"%s\",\t%#lx},\n", ioctls[i].header, ioctls[i].name, ioctls[i].code);