src/saveload.cpp
changeset 8533 a9b708fe4a00
parent 8525 9d0a7c52e3ed
child 8603 88c5ce6a5215
equal deleted inserted replaced
8532:3099f32f9bfd 8533:a9b708fe4a00
   573 			case SLE_VAR_STRQ: // Malloc'd string, free previous incarnation, and allocate
   573 			case SLE_VAR_STRQ: // Malloc'd string, free previous incarnation, and allocate
   574 				free(*(char**)ptr);
   574 				free(*(char**)ptr);
   575 				if (len == 0) {
   575 				if (len == 0) {
   576 					*(char**)ptr = NULL;
   576 					*(char**)ptr = NULL;
   577 				} else {
   577 				} else {
   578 					*(char**)ptr = (char*)malloc(len + 1); // terminating '\0'
   578 					*(char**)ptr = MallocT<char>(len + 1); // terminating '\0'
   579 					ptr = *(char**)ptr;
   579 					ptr = *(char**)ptr;
   580 					SlCopyBytes(ptr, len);
   580 					SlCopyBytes(ptr, len);
   581 				}
   581 				}
   582 				break;
   582 				break;
   583 		}
   583 		}
  1058 }
  1058 }
  1059 
  1059 
  1060 static bool InitLZO()
  1060 static bool InitLZO()
  1061 {
  1061 {
  1062 	_sl.bufsize = LZO_SIZE;
  1062 	_sl.bufsize = LZO_SIZE;
  1063 	_sl.buf = _sl.buf_ori = (byte*)malloc(LZO_SIZE);
  1063 	_sl.buf = _sl.buf_ori = MallocT<byte>(LZO_SIZE);
  1064 	return true;
  1064 	return true;
  1065 }
  1065 }
  1066 
  1066 
  1067 static void UninitLZO()
  1067 static void UninitLZO()
  1068 {
  1068 {
  1083 }
  1083 }
  1084 
  1084 
  1085 static bool InitNoComp()
  1085 static bool InitNoComp()
  1086 {
  1086 {
  1087 	_sl.bufsize = LZO_SIZE;
  1087 	_sl.bufsize = LZO_SIZE;
  1088 	_sl.buf = _sl.buf_ori = (byte*)malloc(LZO_SIZE);
  1088 	_sl.buf = _sl.buf_ori = MallocT<byte>(LZO_SIZE);
  1089 	return true;
  1089 	return true;
  1090 }
  1090 }
  1091 
  1091 
  1092 static void UninitNoComp()
  1092 static void UninitNoComp()
  1093 {
  1093 {
  1152 {
  1152 {
  1153 	memset(&_z, 0, sizeof(_z));
  1153 	memset(&_z, 0, sizeof(_z));
  1154 	if (inflateInit(&_z) != Z_OK) return false;
  1154 	if (inflateInit(&_z) != Z_OK) return false;
  1155 
  1155 
  1156 	_sl.bufsize = 4096;
  1156 	_sl.bufsize = 4096;
  1157 	_sl.buf = _sl.buf_ori = (byte*)malloc(4096 + 4096); // also contains fread buffer
  1157 	_sl.buf = _sl.buf_ori = MallocT<byte>(4096 + 4096); // also contains fread buffer
  1158 	return true;
  1158 	return true;
  1159 }
  1159 }
  1160 
  1160 
  1161 static uint ReadZlib()
  1161 static uint ReadZlib()
  1162 {
  1162 {
  1192 {
  1192 {
  1193 	memset(&_z, 0, sizeof(_z));
  1193 	memset(&_z, 0, sizeof(_z));
  1194 	if (deflateInit(&_z, 6) != Z_OK) return false;
  1194 	if (deflateInit(&_z, 6) != Z_OK) return false;
  1195 
  1195 
  1196 	_sl.bufsize = 4096;
  1196 	_sl.bufsize = 4096;
  1197 	_sl.buf = _sl.buf_ori = (byte*)malloc(4096); // also contains fread buffer
  1197 	_sl.buf = _sl.buf_ori = MallocT<byte>(4096); // also contains fread buffer
  1198 	return true;
  1198 	return true;
  1199 }
  1199 }
  1200 
  1200 
  1201 static void WriteZlibLoop(z_streamp z, byte *p, uint len, int mode)
  1201 static void WriteZlibLoop(z_streamp z, byte *p, uint len, int mode)
  1202 {
  1202 {