Просмотр исходного кода

Partial reversion
* Made it so changes are made only to the import map_cache to relieve the main one from merge conflicts.

aleos89 5 лет назад
Родитель
Сommit
1cbd688761
1 измененных файлов с 39 добавлено и 38 удалено
  1. 39 38
      src/tool/mapcache.cpp

+ 39 - 38
src/tool/mapcache.cpp

@@ -150,7 +150,7 @@ int find_map(char *name)
 
 	for(i = 0; i < header.map_count; i++) {
 		if(fread(&info, sizeof(info), 1, map_cache_fp) != 1)
-			printf("An error has occured in fread while reading \"%s\"\n", map_cache_fp);
+			ShowError("An error has occured in fread while reading \"%s\"\n", map_cache_fp);
 		if(strcmp(name, info.name) == 0) // Map found
 			return 1;
 		else // Map not found, jump to the beginning of the next map info header
@@ -195,39 +195,40 @@ void process_args(int argc, char *argv[])
 
 int do_init(int argc, char** argv)
 {
-	std::vector<std::string> directories = { std::string(db_path) + "/",  std::string(db_path) + "/" + std::string(DBIMPORT) + "/" };
 
-	for (const auto &directory : directories) {
-		/* setup pre-defined, #define-dependant */
-		map_cache_file = directory + "map_cache.dat";
-
-		// Process the command-line arguments
-		process_args(argc, argv);
-
-		ShowStatus("Initializing grfio with %s\n", grf_list_file.c_str());
-		grfio_init(grf_list_file.c_str());
-
-		// Attempt to open the map cache file and force rebuild if not found
-		ShowStatus("Opening map cache: %s\n", map_cache_file.c_str());
-		if (!rebuild) {
-			map_cache_fp = fopen(map_cache_file.c_str(), "rb");
-			if (map_cache_fp == NULL) {
-				ShowNotice("Existing map cache not found, forcing rebuild mode\n");
-				rebuild = 1;
-			} else
-				fclose(map_cache_fp);
-		}
-		if (rebuild)
-			map_cache_fp = fopen(map_cache_file.c_str(), "w+b");
-		else
-			map_cache_fp = fopen(map_cache_file.c_str(), "r+b");
+	/* setup pre-defined, #define-dependant */
+	map_cache_file = std::string(db_path) + "/" + std::string(DBIMPORT) + "/map_cache.dat";
+
+	// Process the command-line arguments
+	process_args(argc, argv);
+
+	ShowStatus("Initializing grfio with %s\n", grf_list_file.c_str());
+	grfio_init(grf_list_file.c_str());
+
+	// Attempt to open the map cache file and force rebuild if not found
+	ShowStatus("Opening map cache: %s\n", map_cache_file.c_str());
+	if (!rebuild) {
+		map_cache_fp = fopen(map_cache_file.c_str(), "rb");
 		if (map_cache_fp == NULL) {
-			ShowError("Failure when opening map cache file %s\n", map_cache_file.c_str());
-			exit(EXIT_FAILURE);
-		}
+			ShowNotice("Existing map cache not found, forcing rebuild mode\n");
+			rebuild = 1;
+		} else
+			fclose(map_cache_fp);
+	}
+	if (rebuild)
+		map_cache_fp = fopen(map_cache_file.c_str(), "w+b");
+	else
+		map_cache_fp = fopen(map_cache_file.c_str(), "r+b");
+	if (map_cache_fp == NULL) {
+		ShowError("Failure when opening map cache file %s\n", map_cache_file.c_str());
+		exit(EXIT_FAILURE);
+	}
+
+	// Open the map list
+	FILE *list;
+	std::vector<std::string> directories = { std::string(db_path) + "/",  std::string(db_path) + "/" + std::string(DBIMPORT) + "/" };
 
-		// Open the map list
-		FILE *list;
+	for (const auto &directory : directories) {
 		std::string filename = directory + map_list_file;
 
 		ShowStatus("Opening map list: %s\n", filename.c_str());
@@ -243,7 +244,7 @@ int do_init(int argc, char** argv)
 			header.map_count = 0;
 		} else {
 			if (fread(&header, sizeof(struct main_header), 1, map_cache_fp) != 1)
-				printf("An error has occured while reading \"%s\"\n", map_cache_fp);
+				ShowError("An error has occured while reading \"%s\"\n", map_cache_fp);
 			header.file_size = GetULong((unsigned char *)&(header.file_size));
 			header.map_count = GetUShort((unsigned char *)&(header.map_count));
 		}
@@ -279,14 +280,14 @@ int do_init(int argc, char** argv)
 
 		ShowStatus("Closing map list: %s\n", filename.c_str());
 		fclose(list);
-
-		// Write the main header and close the map cache
-		ShowStatus("Closing map cache: %s\n", map_cache_file.c_str());
-		fseek(map_cache_fp, 0, SEEK_SET);
-		fwrite(&header, sizeof(struct main_header), 1, map_cache_fp);
-		fclose(map_cache_fp);
 	}
 
+	// Write the main header and close the map cache
+	ShowStatus("Closing map cache: %s\n", map_cache_file.c_str());
+	fseek(map_cache_fp, 0, SEEK_SET);
+	fwrite(&header, sizeof(struct main_header), 1, map_cache_fp);
+	fclose(map_cache_fp);
+
 	ShowStatus("Finalizing grfio\n");
 	grfio_final();