示例#1
0
	RString CrashChildGetModuleBaseName( HMODULE hMod )
	{
		write( _fileno(stdout), &hMod,  sizeof(hMod) );

		int iFD = fileno(stdin);
		int iSize;
		if( !ReadFromParent(iFD, &iSize, sizeof(iSize)) )
			return "???";
		RString sName;
		char *pBuf = sName.GetBuffer( iSize );
		if( !ReadFromParent(iFD, pBuf, iSize) )
			return "???";
		sName.ReleaseBuffer( iSize );
		return sName;
	}
示例#2
0
	RString CrashChildGetModuleBaseName( HMODULE hMod )
	{
		write( _fileno(stdout), &hMod,  sizeof(hMod) );

		int iFD = fileno(stdin);
		int iSize;
		if (!ReadFromParent(iFD, &iSize, sizeof(iSize)))
		{
			return "???";
		}
		RString sName;
		char *buffer = new char[iSize + 1];
		std::fill(buffer, buffer + iSize + 1, '\0');
		if (!ReadFromParent(iFD, buffer, iSize))
		{
			sName = "???";
		}
		else
		{
			sName = buffer;
		}
		delete[] buffer;
		return sName;
	}