Index: sort.c =================================================================== RCS file: /cvsroot/src/usr.bin/sort/sort.c,v retrieving revision 1.63 diff -u -r1.63 sort.c --- sort.c 1 Jun 2016 08:24:03 -0000 1.63 +++ sort.c 27 Dec 2016 04:57:37 -0000 @@ -156,7 +156,7 @@ while ((ch = getopt(argc, argv, SORT_OPTS)) != -1) { switch (ch) { case 'b': - fldtab[0].flags |= BI | BT; + fldtab[fld_cnt].flags |= BI | BT; break; case 'c': case 'C': case 'm': if (mode) @@ -168,7 +168,7 @@ debug_flags |= 1 << (optarg[i] & 31); break; case 'd': case 'f': case 'i': case 'n': case 'l': - fldtab[0].flags |= optval(ch, 0); + fldtab[fld_cnt].flags |= optval(ch, 0); break; case 'H': /* -H was ; use merge sort for blocks of large files' */ @@ -176,8 +176,7 @@ break; case 'k': fldtab = erealloc(fldtab, (fldtab_sz + 1) * sizeof(*fldtab)); - memset(&fldtab[fldtab_sz], 0, sizeof(fldtab[0])); - fldtab_sz++; + memset(&fldtab[fldtab_sz++], 0, sizeof(fldtab[0])); setfield(optarg, &fldtab[++fld_cnt], fldtab[0].flags); break;