=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/diff.c,v retrieving revision 1.143 retrieving revision 1.144 diff -c -r1.143 -r1.144 *** src/usr.bin/cvs/diff.c 2008/06/20 13:59:14 1.143 --- src/usr.bin/cvs/diff.c 2008/06/20 14:04:29 1.144 *************** *** 1,4 **** ! /* $OpenBSD: diff.c,v 1.143 2008/06/20 13:59:14 tobias Exp $ */ /* * Copyright (c) 2008 Tobias Stoeckmann * Copyright (c) 2006 Joris Vink --- 1,4 ---- ! /* $OpenBSD: diff.c,v 1.144 2008/06/20 14:04:29 tobias Exp $ */ /* * Copyright (c) 2008 Tobias Stoeckmann * Copyright (c) 2006 Joris Vink *************** *** 39,44 **** --- 39,46 ---- static char *rev2 = NULL; static time_t date1 = -1; static time_t date2 = -1; + static char *dateflag1 = NULL; + static char *dateflag2 = NULL; struct cvs_cmd cvs_cmd_diff = { CVS_OP_DIFF, CVS_USE_WDIR, "diff", *************** *** 83,90 **** --- 85,94 ---- case 'D': if (date1 == -1 && rev1 == NULL) { date1 = cvs_date_parse(optarg); + dateflag1 = optarg; } else if (date2 == -1 && rev2 == NULL) { date2 = cvs_date_parse(optarg); + dateflag2 = optarg; } else { fatal("no more than 2 revisions/dates can" " be specified"); *************** *** 157,163 **** cr.leavedir = NULL; if (cvs_cmdop == CVS_OP_RDIFF) { ! if (rev1 == NULL) fatal("must specify at least one revision/date!"); if (!argc) --- 161,168 ---- cr.leavedir = NULL; if (cvs_cmdop == CVS_OP_RDIFF) { ! if (rev1 == NULL && rev2 == NULL && dateflag1 == NULL && ! dateflag2 == NULL) fatal("must specify at least one revision/date!"); if (!argc) *************** *** 205,210 **** --- 210,220 ---- cvs_client_send_request("Argument -r%s", rev1); if (rev2 != NULL) cvs_client_send_request("Argument -r%s", rev2); + + if (dateflag1 != NULL) + cvs_client_send_request("Argument -D%s", dateflag1); + if (dateflag2 != NULL) + cvs_client_send_request("Argument -D%s", dateflag2); } else { if (cvs_cmdop == CVS_OP_RDIFF && chdir(current_cvsroot->cr_dir) == -1)