=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/diff.c,v retrieving revision 1.153 retrieving revision 1.154 diff -c -r1.153 -r1.154 *** src/usr.bin/cvs/diff.c 2009/04/29 12:56:15 1.153 --- src/usr.bin/cvs/diff.c 2009/06/06 14:17:27 1.154 *************** *** 1,4 **** ! /* $OpenBSD: diff.c,v 1.153 2009/04/29 12:56:15 joris Exp $ */ /* * Copyright (c) 2008 Tobias Stoeckmann * Copyright (c) 2006 Joris Vink --- 1,4 ---- ! /* $OpenBSD: diff.c,v 1.154 2009/06/06 14:17:27 ray Exp $ */ /* * Copyright (c) 2008 Tobias Stoeckmann * Copyright (c) 2006 Joris Vink *************** *** 32,37 **** --- 32,38 ---- void cvs_diff_local(struct cvs_file *); + static int dflags = 0; static int Nflag = 0; static int force_head = 0; static char *koptstr; *************** *** 80,90 **** switch (ch) { case 'a': strlcat(diffargs, " -a", sizeof(diffargs)); ! diff_aflag = 1; break; case 'b': strlcat(diffargs, " -b", sizeof(diffargs)); ! diff_bflag = 1; break; case 'c': strlcat(diffargs, " -c", sizeof(diffargs)); --- 81,91 ---- switch (ch) { case 'a': strlcat(diffargs, " -a", sizeof(diffargs)); ! dflags |= D_FORCEASCII; break; case 'b': strlcat(diffargs, " -b", sizeof(diffargs)); ! dflags |= D_FOLDBLANKS; break; case 'c': strlcat(diffargs, " -c", sizeof(diffargs)); *************** *** 92,98 **** break; case 'd': strlcat(diffargs, " -d", sizeof(diffargs)); ! diff_dflag = 1; break; case 'D': if (date1 == -1 && rev1 == NULL) { --- 93,99 ---- break; case 'd': strlcat(diffargs, " -d", sizeof(diffargs)); ! dflags |= D_MINIMAL; break; case 'D': if (date1 == -1 && rev1 == NULL) { *************** *** 111,117 **** break; case 'i': strlcat(diffargs, " -i", sizeof(diffargs)); ! diff_iflag = 1; break; case 'k': koptstr = optarg; --- 112,118 ---- break; case 'i': strlcat(diffargs, " -i", sizeof(diffargs)); ! dflags |= D_IGNORECASE; break; case 'k': koptstr = optarg; *************** *** 137,143 **** break; case 'p': strlcat(diffargs, " -p", sizeof(diffargs)); ! diff_pflag = 1; break; case 'R': flags |= CR_RECURSE_DIRS; --- 138,144 ---- break; case 'p': strlcat(diffargs, " -p", sizeof(diffargs)); ! dflags |= D_PROTOTYPE; break; case 'R': flags |= CR_RECURSE_DIRS; *************** *** 152,157 **** --- 153,162 ---- " be specified"); } break; + case 't': + strlcat(diffargs, " -t", sizeof(diffargs)); + dflags |= D_EXPANDTABS; + break; case 'u': strlcat(diffargs, " -u", sizeof(diffargs)); diff_format = D_UNIFIED; *************** *** 161,167 **** "and should not be used"); case 'w': strlcat(diffargs, " -w", sizeof(diffargs)); ! diff_wflag = 1; break; default: fatal("%s", cvs_cmdop == CVS_OP_DIFF ? --- 166,172 ---- "and should not be used"); case 'w': strlcat(diffargs, " -w", sizeof(diffargs)); ! dflags |= D_IGNOREBLANKS; break; default: fatal("%s", cvs_cmdop == CVS_OP_DIFF ? *************** *** 219,225 **** if (Nflag == 1) cvs_client_send_request("Argument -N"); ! if (diff_pflag == 1) cvs_client_send_request("Argument -p"); if (rev1 != NULL) --- 224,230 ---- if (Nflag == 1) cvs_client_send_request("Argument -N"); ! if (dflags & D_PROTOTYPE) cvs_client_send_request("Argument -p"); if (rev1 != NULL) *************** *** 562,569 **** } if (cvs_diffreg(p1 != NULL ? cf->file_path : CVS_PATH_DEVNULL, ! p2 != NULL ? cf->file_path : CVS_PATH_DEVNULL, fd1, fd2, NULL) ! == D_ERROR) fatal("cvs_diff_local: failed to get RCS patch"); close(fd1); --- 567,574 ---- } if (cvs_diffreg(p1 != NULL ? cf->file_path : CVS_PATH_DEVNULL, ! p2 != NULL ? cf->file_path : CVS_PATH_DEVNULL, fd1, fd2, NULL, ! dflags) == D_ERROR) fatal("cvs_diff_local: failed to get RCS patch"); close(fd1);