Subversion Repositories spk

Rev

Rev 43 | Rev 50 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 43 Rev 45
Line 970... Line 970...
970
}
970
}
971
 
971
 
972
bool C_File::UncompressData ( CProgressInfo *progress )
972
bool C_File::UncompressData ( CProgressInfo *progress )
973
{
973
{
974
	// no data to try to uncompress
974
	// no data to try to uncompress
975
	if ( (!m_sData) || (!m_lDataSize) )
975
	if ( (!m_sData) || (!m_lDataSize) ) {
976
		return false;
976
		return (m_lSize) ? false : true;
-
 
977
	}
977
 
978
 
978
	if ( m_bCompressedToFile )
979
	if ( m_bCompressedToFile )
979
		return false;
980
		return false;
980
 
981
 
981
	// if comopression is set to none, dont bother
982
	// if comopression is set to none, dont bother
Line 1159... Line 1160...
1159
	{
1160
	{
1160
		len = m_lDataSize;
1161
		len = m_lDataSize;
1161
		data = m_sData;
1162
		data = m_sData;
1162
	}
1163
	}
1163
 
1164
 
1164
	if ( (!len) || (!data) )
1165
	if ( (!len) || (!data) ) {
1165
		return false;
1166
		if ( m_lSize ) return false;
-
 
1167
	}
1166
 
1168
 
1167
	// check for cat file
1169
	// check for cat file
1168
	if ( filename.IsIn ( "::" ) )
1170
	if ( filename.IsIn ( "::" ) )
1169
	{
1171
	{
1170
		CyString catfile = filename.GetToken ( "::", 1, 1 );
1172
		CyString catfile = filename.GetToken ( "::", 1, 1 );
Line 1180... Line 1182...
1180
 
1182
 
1181
		FILE *id = fopen ( filen.c_str(), "wb" );
1183
		FILE *id = fopen ( filen.c_str(), "wb" );
1182
		if ( !id )
1184
		if ( !id )
1183
			return false;
1185
			return false;
1184
 
1186
 
1185
		fwrite ( data, sizeof(unsigned char), len, id );
-
 
1186
 
-
 
1187
		bool ret = true;
1187
		bool ret = true;
1188
		if ( ferror(id) )
1188
		if ( len && data ) {
1189
			ret = false;
1189
			fwrite ( data, sizeof(unsigned char), len, id );
1190
 
1190
 
1191
		fclose ( id );
1191
			if ( ferror(id) )
-
 
1192
				ret = false;
1192
 
1193
 
-
 
1194
			fclose ( id );
-
 
1195
		}
1193
		return ret;
1196
		return ret;
1194
	}
1197
	}
1195
 
1198
 
1196
	return false;
1199
	return false;
1197
}
1200
}