(svn r8964) -Codechange: use grf_load_string to read action 8 strings instead of trying to do the same manually.
authorrubidium
Thu, 01 Mar 2007 23:37:05 +0000
changeset 6512 8625c30bd63d
parent 6511 d8d440501a4b
child 6513 8342666220ae
(svn r8964) -Codechange: use grf_load_string to read action 8 strings instead of trying to do the same manually.
src/newgrf.cpp
--- a/src/newgrf.cpp	Thu Mar 01 20:12:41 2007 +0000
+++ b/src/newgrf.cpp	Thu Mar 01 23:37:05 2007 +0000
@@ -2628,8 +2628,6 @@
 	uint32 grfid;
 	const char *name;
 	const char *info;
-	int name_len;
-	int info_len;
 
 	if (!check_length(len, 8, "Info")) return; buf++;
 	version = grf_load_byte(&buf);
@@ -2641,17 +2639,13 @@
 	if (GB(grfid, 24, 8) == 0xFF) SETBIT(_cur_grfconfig->flags, GCF_SYSTEM);
 
 	len -= 6;
-	name = (const char*)buf;
-	name_len = ttd_strnlen(name, len);
-
-	if (name_len < len) {
-		_cur_grfconfig->name = TranslateTTDPatchCodes(name);
-
-		len -= name_len + 1;
-		info = name + name_len + 1;
-		info_len = ttd_strnlen(info, len);
-
-		if (info_len < len) _cur_grfconfig->info  = TranslateTTDPatchCodes(info);
+	name = grf_load_string(&buf, len);
+	_cur_grfconfig->name = TranslateTTDPatchCodes(name);
+
+	len -= strlen(name) + 1;
+	if (len > 0) {
+		info = grf_load_string(&buf, len);
+		_cur_grfconfig->info = TranslateTTDPatchCodes(info);
 	}
 
 	/* GLS_INFOSCAN only looks for the action 8, so we can skip the rest of the file */