All pastes #507805 Raw Edit

Mine

public text v1 · immutable
·published 2007-05-24 19:10 UTC
rendered paste body
char* frmScarEditor::_ReadNiceString(FILE* f)
{
	size_t iLen;
	fread(&iLen, sizeof(size_t), 1, f);
	char* s = new char[iLen + 1];
	fread(s, iLen, 1, f);
	s[iLen] = 0;
	return s;
}

frmScarEditor::frmScarEditor(wxTreeItemId& oFileParent, wxString sFilename, wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, const wchar_t* pLangRef)
	: m_oFileParent(oFileParent), m_sFilename(sFilename), wxWindow(parent, id, pos, size), m_bNeedsSaving(false)
{
	// Load ref
	if(pLangRef)
	{
		FILE *f = _wfopen(AppStr(app_scarreffile), L"rb");
		size_t iFnCount;
		fread(&iFnCount, sizeof(size_t), 1, f);
		for(size_t i = 0; i < iFnCount; ++i)
		{
			_ScarFunction oFunction;
			oFunction.sReturn = _ReadNiceString(f);
			oFunction.sName = _ReadNiceString(f);
			oFunction.iType = 0;
			if(*oFunction.sName == 0)
			{
				oFunction.iType = 1;
				delete[] oFunction.sName;
				oFunction.sName = oFunction.sReturn;
				oFunction.sReturn = 0;
				oFunction.sDesc = 0;
			}
			else
			{
				size_t iArgCount;
				fread(&iArgCount, sizeof(size_t), 1, f);
				for(size_t j = 0; j < iArgCount; ++j)
				{
					oFunction.sArguments.push_back(_ReadNiceString(f));
				}
				oFunction.sDesc = _ReadNiceString(f);
			}
			m_lstScarFunctions.push_back(oFunction);
		}
		fclose(f);
	}