changeset 6186:9389cad4793f draft

(svn r8964) -Codechange: use grf_load_string to read action 8 strings instead of trying to do the same manually.
author rubidium <rubidium@openttd.org>
date Thu, 01 Mar 2007 23:37:05 +0000
parents 9ba59870c71a
children 83d6c97a5a6f
files src/newgrf.cpp
diffstat 1 files changed, 7 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -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 */