src/fileio.cpp
changeset 9916 40b0040c754b
parent 9702 e69c01e76845
child 10036 5c28389c3eeb
equal deleted inserted replaced
9915:9c9960c44822 9916:40b0040c754b
   365 
   365 
   366 		/* Filenames in tars are always forced to be lowercase */
   366 		/* Filenames in tars are always forced to be lowercase */
   367 		strcpy(resolved_name, filename);
   367 		strcpy(resolved_name, filename);
   368 		strtolower(resolved_name);
   368 		strtolower(resolved_name);
   369 
   369 
   370 		uint resolved_len = strlen(resolved_name);
   370 		size_t resolved_len = strlen(resolved_name);
   371 
   371 
   372 		/* Resolve ONE directory link */
   372 		/* Resolve ONE directory link */
   373 		for (TarLinkList::iterator link = _tar_linklist.begin(); link != _tar_linklist.end(); link++) {
   373 		for (TarLinkList::iterator link = _tar_linklist.begin(); link != _tar_linklist.end(); link++) {
   374 			const std::string &src = link->first;
   374 			const std::string &src = link->first;
   375 			uint len = src.length();
   375 			size_t len = src.length();
   376 			if (resolved_len >= len && resolved_name[len - 1] == PATHSEPCHAR && strncmp(src.c_str(), resolved_name, len) == 0) {
   376 			if (resolved_len >= len && resolved_name[len - 1] == PATHSEPCHAR && strncmp(src.c_str(), resolved_name, len) == 0) {
   377 				/* Apply link */
   377 				/* Apply link */
   378 				char resolved_name2[MAX_RESOLVED_LENGTH];
   378 				char resolved_name2[MAX_RESOLVED_LENGTH];
   379 				const std::string &dest = link->second;
   379 				const std::string &dest = link->second;
   380 				strcpy(resolved_name2, &(resolved_name[len]));
   380 				strcpy(resolved_name2, &(resolved_name[len]));