1 $DragonFly: src/gnu/usr.bin/cvs/cvs/Attic/diff.c.patch,v 1.3 2005/06/13 22:35:54 corecode Exp $
2 --- /usr/src/contrib/cvs-1.12.12/src/diff.c 2005-04-21 08:33:15.000000000 +0200
3 +++ diff.c 2005-06-13 23:32:45.000000000 +0200
5 static char *diff_rev1, *diff_rev2;
6 /* Command line dates, from -D option. Malloc'd. */
7 static char *diff_date1, *diff_date2;
8 +static char *diff_join1, *diff_join2;
9 static char *use_rev1, *use_rev2;
10 static int have_rev1_label, have_rev2_label;
20 /* FIXME: This should really be allocating an argv to be passed to diff
24 while ((c = getopt_long (argc, argv,
25 - "+abcdefhilnpstuwy0123456789BHNRTC:D:F:I:L:U:W:k:r:",
26 + "+abcdefhij:lnpstuwy0123456789BHNRTC:D:F:I:L:U:W:k:r:",
27 longopts, &option_index)) != -1)
32 options = RCS_check_kflag (optarg);
37 + char *cpy = strdup(optarg);
39 + if ((ptr = strchr(optarg, ':')) != NULL)
41 + if (diff_rev2 != NULL || diff_date2 != NULL)
42 + error (1, 0, "no more than two revisions/dates can be specified");
43 + if (diff_rev1 != NULL || diff_date1 != NULL) {
46 + diff_date2 = ptr ? Make_Date(ptr) : NULL;
50 + diff_date1 = ptr ? Make_Date(ptr) : NULL;
55 if (diff_rev2 || diff_date2)
58 send_option_string (opts);
59 if (options[0] != '\0')
63 + option_with_arg ("-j", diff_join1);
64 + else if (diff_orig1)
65 option_with_arg ("-r", diff_orig1);
67 client_senddate (diff_date1);
70 + option_with_arg ("-j", diff_join2);
71 + else if (diff_orig2)
72 option_with_arg ("-r", diff_orig2);
74 client_senddate (diff_date2);
77 send_to_server ("diff\012", 0);
78 err = get_responses_and_close ();
87 if (diff_rev1 != NULL)
88 tag_check_valid (diff_rev1, argc, argv, local, 0, "", false);
89 if (diff_rev2 != NULL)
91 diff_dirleaveproc, NULL, argc, argv, local,
92 which, 0, CVS_LOCK_READ, NULL, 1, NULL);
100 if (diff_date2 != NULL)
102 + if (diff_join1 != NULL)
104 + if (diff_join2 != NULL)