=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/sort/sort.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- src/usr.bin/sort/sort.c 2009/10/28 20:41:39 1.38 +++ src/usr.bin/sort/sort.c 2009/12/22 19:47:02 1.39 @@ -1,4 +1,4 @@ -/* $OpenBSD: sort.c,v 1.38 2009/10/28 20:41:39 guenther Exp $ */ +/* $OpenBSD: sort.c,v 1.39 2009/12/22 19:47:02 schwarze Exp $ */ /*- * Copyright (c) 1993 @@ -93,7 +93,7 @@ { int (*get)(int, union f_handle, int, RECHEADER *, u_char *, struct field *); int ch, i, stdinflag = 0, tmp = 0; - char nfields = 0, cflag = 0, mflag = 0; + char nfields = 0, cflag = 0, c_warn = 0, mflag = 0; char *outfile, *outpath = 0; struct field *fldtab, *ftpos; union f_handle filelist; @@ -111,7 +111,7 @@ fixit(&argc, argv); if (!issetugid() && (outfile = getenv("TMPDIR"))) tmpdir = outfile; - while ((ch = getopt(argc, argv, "bcdfik:mHno:rR:t:T:uy:zs")) != -1) { + while ((ch = getopt(argc, argv, "bCcdfik:mHno:rR:t:T:uy:zs")) != -1) { switch (ch) { case 'b': fldtab->flags |= BI | BT; break; @@ -159,8 +159,13 @@ case 'u': UNIQUE = 1; break; + case 'C': + cflag = 1; + c_warn = 0; + break; case 'c': cflag = 1; + c_warn = 1; break; case 'm': mflag = 1; @@ -188,7 +193,8 @@ } if (cflag && argc > optind+1) - errx(2, "too many input files for -c option"); + errx(2, "too many input files for the -%c option", + c_warn ? 'c' : 'C'); if (argc - 2 > optind && !strcmp(argv[argc-2], "-o")) { outpath = argv[argc-1]; @@ -249,7 +255,7 @@ } if (cflag) { - order(filelist, get, fldtab); + order(filelist, get, fldtab, c_warn); /* NOT REACHED */ } @@ -332,7 +338,7 @@ if (msg != NULL) warnx("%s", msg); - (void)fprintf(stderr, "usage: %s [-bcdfHimnrsuz] " + (void)fprintf(stderr, "usage: %s [-bCcdfHimnrsuz] " "[-k field1[,field2]] [-o output] [-R char]\n" "\t[-T dir] [-t char] [file ...]\n", __progname); exit(2);