[Scummvm-cvs-logs] SF.net SVN: scummvm: [25723] scummvm/trunk/engines/parallaction

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Mon Feb 19 15:06:47 CET 2007


Revision: 25723
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25723&view=rev
Author:   peres001
Date:     2007-02-19 06:06:47 -0800 (Mon, 19 Feb 2007)

Log Message:
-----------
a little bit of fiddling to expose similarities between routines

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/parser.cpp
    scummvm/trunk/engines/parallaction/parser.h

Modified: scummvm/trunk/engines/parallaction/parser.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parser.cpp	2007-02-19 13:46:44 UTC (rev 25722)
+++ scummvm/trunk/engines/parallaction/parser.cpp	2007-02-19 14:06:47 UTC (rev 25723)
@@ -85,38 +85,37 @@
 
 uint16 parseFillBuffers() {
 
-	char tmp[200];
+	uint16 i;
+	for (i = 0; i < 20; i++)
+		_tokens[i][0] = '\0';
 
-	uint16 _si;
-	for (_si = 0; _si < 20; _si++) _tokens[_si][0] = '\0';
-
-	char *v4;
+	char buf[200];
+	char *line = NULL;
 	do {
-		v4 = parseNextLine(tmp, 200);
-		if (v4 == NULL) {
-			puts("non ho letto ");
-			exit(0);
+		line = parseNextLine(buf, 200);
+		if (line == NULL) {
+			error("unexpected end of file while parsing");
 		}
-		v4 = Common::ltrim(v4);
-	} while (strlen(v4) == 0 || v4[0] == '#');
+		line = Common::ltrim(line);
+	} while (strlen(line) == 0 || line[0] == '#');
 
-	_si = 0;
-	while (_si < 20 && strlen(v4) > 0) {
-		v4 = parseNextToken(v4, _tokens[_si], 40, " \t\n");
-		if (_tokens[_si][0] == '"' && _tokens[_si][strlen(_tokens[_si]) - 1] != '"') {
+	i = 0;
+	while (strlen(line) > 0 && i < 20) {
+		line = parseNextToken(line, _tokens[i], 40, " \t\n");
+		if (_tokens[i][0] == '"' && _tokens[i][strlen(_tokens[i]) - 1] != '"') {
 
-			v4 = parseNextToken(v4, _tokens[_si+1], 40, "\"\"\"");
-			strcat(_tokens[_si], _tokens[_si+1]);
-			_tokens[_si][0] = ' ';
-			v4++;
+			line = parseNextToken(line, _tokens[i+1], 40, "\"");
+			strcat(_tokens[i], _tokens[i+1]);
+			_tokens[i][0] = ' ';
+			line++;
 
 		}
 
-		v4 = Common::ltrim(v4);
-		_si++;
+		line = Common::ltrim(line);
+		i++;
 	}
 
-	return _si;
+	return i;
 }
 
 //
@@ -126,77 +125,77 @@
 //
 uint16 tableFillBuffers(Common::SeekableReadStream &stream) {
 
-	for (uint16 i = 0; i < 20; i++)
+	uint16 i;
+	for (i = 0; i < 20; i++)
 		_tokens[i][0] = '\0';
 
 	char buf[200];
 	char *line = NULL;
 	do {
 		line = stream.readLine(buf, 200);
-		if (line == NULL) return 0;
-
+		if (line == NULL) {
+			return 0;
+		}
 		line = Common::ltrim(line);
 	} while (strlen(line) == 0 || line[0] == '#');
 
-	uint16 count = 0;
-	while (strlen(line) > 0 && count < 20) {
-		line = parseNextToken(line, _tokens[count], 40, " \t\n");
-		if (_tokens[count][0] == '"' && _tokens[count][strlen(_tokens[count]) - 1] != '"') {
+	i = 0;
+	while (strlen(line) > 0 && i < 20) {
+		line = parseNextToken(line, _tokens[i], 40, " \t\n");
+		if (_tokens[i][0] == '"' && _tokens[i][strlen(_tokens[i]) - 1] != '"') {
 
-			line = parseNextToken(line, _tokens[count+1], 40, "\"");
-			strcat(_tokens[count], _tokens[count+1] );
-			_tokens[count][0] = ' ';
+			line = parseNextToken(line, _tokens[i+1], 40, "\"");
+			strcat(_tokens[i], _tokens[i+1]);
+			_tokens[i][0] = ' ';
 			line++;
 
 		}
 
 		line = Common::ltrim(line);
-		count++;
+		i++;
 	}
 
-	return count;
-
+	return i;
 }
 
+
 //	FIXME
 //	this function does the same Job as parseFillBuffers, except that
 //	it gets input from an ArchivedFile instead of a memory buffer
 //
-int16 scriptFillBuffers(ArchivedFile *file) {
-//	printf("scriptFillBuffers()\n");
-	char v2[] = "\"\0";
+uint16 scriptFillBuffers(ArchivedFile *file) {
 
-	int16 _si = 0;
+	uint16 i;
+	for (i = 0; i < 20; i++)
+		_tokens[i][0] = '\0';
 
-	for (; _si < 15; _si++)
-		_tokens[_si][0] = '\0';
-
-	char vCA[200];
-	char *vCE = NULL;
+	char buf[200];
+	char *line = NULL;
 	do {
-		vCE = readArchivedFileText(vCA, 200, file);
-		if (vCE == 0) return 0;
+		line = readArchivedFileText(buf, 200, file);
+		if (line == NULL) {
+			return 0;
+		}
+		line = Common::ltrim(line);
+	} while (strlen(line) == 0 || line[0] == '#');
 
-		vCE = Common::ltrim(vCE);
-	} while (strlen(vCE) == 0 || vCE[0] == '#');
+	i = 0;
+	while (strlen(line) > 0 && i < 20) {
+		line = parseNextToken(line, _tokens[i], 40, " \t\n");
+		if (_tokens[i][0] == '"' && _tokens[i][strlen(_tokens[i]) - 1] != '"') {
 
-	_si = 0;
-	while (strlen(vCE) > 0 && _si < 20) {
-		vCE = parseNextToken(vCE, _tokens[_si], 40, " \t\n");
-		if (_tokens[_si][0] == '"' && _tokens[_si][strlen(_tokens[_si])-1] != '"') {
+			line = parseNextToken(line, _tokens[i+1], 40, "\"");
+			strcat(_tokens[i], _tokens[i+1]);
+			_tokens[i][0] = ' ';
+			line++;
 
-			vCE = parseNextToken(vCE, _tokens[_si+1], 40, v2);
-			strcat(_tokens[_si], _tokens[_si+1]);
-			_tokens[_si][0] = ' ';
-			vCE++;
-
 		}
 
-		vCE = Common::ltrim(vCE);
-		_si++;
+		line = Common::ltrim(line);
+		i++;
 	}
 
-	return _si;
+	return i;
 }
 
 

Modified: scummvm/trunk/engines/parallaction/parser.h
===================================================================
--- scummvm/trunk/engines/parallaction/parser.h	2007-02-19 13:46:44 UTC (rev 25722)
+++ scummvm/trunk/engines/parallaction/parser.h	2007-02-19 14:06:47 UTC (rev 25723)
@@ -37,7 +37,7 @@
 char   *parseNextToken(char *s, char *tok, uint16 count, const char *brk);
 
 uint16  tableFillBuffers(Common::SeekableReadStream &stream);
-int16	scriptFillBuffers(ArchivedFile *file);
+uint16	scriptFillBuffers(ArchivedFile *file);
 
 
 extern char _tokens[][40];


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list