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