PERFORCE change 180341 for review
Benjamin Fiedler
bfiedler at FreeBSD.org
Wed Jun 30 02:36:47 UTC 2010
http://p4web.freebsd.org/@@180341?ac=10
Change 180341 by bfiedler at freebsd-7803 on 2010/06/30 02:36:09
Initial work for formatting options
Affected files ...
.. //depot/projects/soc2010/bsdtextproc/gabor_diff/diff.c#7 edit
.. //depot/projects/soc2010/bsdtextproc/gabor_diff/diff.h#6 edit
.. //depot/projects/soc2010/bsdtextproc/gabor_diff/diffreg.c#7 edit
Differences ...
==== //depot/projects/soc2010/bsdtextproc/gabor_diff/diff.c#7 (text+ko) ====
@@ -71,9 +71,14 @@
HORIZ_OPT,
LEFTC_OPT,
SUPCL_OPT,
- GTYPE_OPT,
LF_OPT,
- LLF_OPT,
+ UNCGF_OPT,
+ CHGF_OPT,
+ OLDGF_OPT,
+ NEWGF_OPT,
+ UNCLF_OPT,
+ OLDLF_OPT,
+ NEWLF_OPT,
TSIZE_OPT,
HLINES_OPT,
LFILES_OPT,
@@ -129,19 +134,16 @@
{ "left-column", no_argument, NULL, LEFTC_OPT },
{ "suppress-common-lines", no_argument, NULL, SUPCL_OPT },
-/* XXX: the following are not very well documented and rarely used. If we need
- them at all, we will need to dig into the code to see what do they do
- actually.
- { "line-format", required_argument, NULL, NOOP_OPT },
+/* XXX: the following are not very well documented and rarely used. */
+ { "line-format", required_argument, NULL, LF_OPT },
{ "show-function-line", required_argument, NULL, 'F' },
- { "unchanged-group-format", required_argument, NULL, NOOP_OPT },
- { "old-group-format", required_argument, NULL, NOOP_OPT },
- { "new-group-format", required_argument, NULL, NOOP_OPT },
- { "changed-group-format", required_argument, NULL, NOOP_OPT },
- { "unchanged-line-format", required_argument, NULL, NOOP_OPT },
- { "old-line-format", required_argument, NULL, NOOP_OPT },
- { "new-line-format", required_argument, NULL, NOOP_OPT },
-*/
+ { "unchanged-group-format", required_argument, NULL, UNCGF_OPT },
+ { "old-group-format", required_argument, NULL, OLDGF_OPT },
+ { "new-group-format", required_argument, NULL, NEWGF_OPT },
+ { "changed-group-format", required_argument, NULL, CHGF_OPT },
+ { "unchanged-line-format", required_argument, NULL, UNCLF_OPT },
+ { "old-line-format", required_argument, NULL, OLDLF_OPT },
+ { "new-line-format", required_argument, NULL, NEWLF_OPT },
{ NULL, 0, NULL, '\0'}
};
==== //depot/projects/soc2010/bsdtextproc/gabor_diff/diff.h#6 (text+ko) ====
@@ -102,3 +102,4 @@
void diffdir(char *, char *);
void print_only(const char *, size_t, const char *);
void print_status(int, char *, char *, char *);
+void print_line(char *, char *, char *, int *, int *);
==== //depot/projects/soc2010/bsdtextproc/gabor_diff/diffreg.c#7 (text+ko) ====
@@ -706,7 +706,7 @@
ixold[0] = ixnew[0] = 0;
jackpot = 0;
ctold = ctnew = 0;
- ccol = dcol = 0;
+ b = ccol = dcol = 0;
for (i = 1; i <= len[0]; i++) {
if (J[i] == 0) {
ixold[i] = ctold += skipline(f1);
@@ -773,7 +773,7 @@
}
else if(d == L'\t') {
- b = strd[++b];
+ d = strd[++b];
dcol += (b+dcol) % tabsize;
}
@@ -1529,3 +1529,44 @@
printf("%s %s\t%s", format == D_CONTEXT ? "---" : "+++",
file2, ctime(&stb2.st_mtime));
}
+
+void print_line(char *line1, char *line2, char *fmt, int *pos1, int *pos2)
+{
+ int num = 0;
+ char *spec, *tmp, *end, *new;
+
+ new = malloc(sizeof(char) * strlen(fmt));
+ spec = tmp = NULL;
+ end = &fmt[strlen(fmt)];
+
+ for(; (spec = strchr(fmt, '%')) != NULL; num++);
+
+ malloc(sizeof(char) * strlen(fmt));
+
+
+ while( (spec = strchr(fmt,'%')) != NULL && spec+1 < end)
+ {
+ spec+=1;
+
+ switch (*spec) {
+ case 'l':
+ break;
+
+ case 'L':
+ break;
+
+ case '%':
+ break;
+
+ case '\'':
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ printf("%s", new);
+
+}
+
More information about the p4-projects
mailing list