Ejemplo n.º 1
0
PVRSRV_ERROR PDumpDriverInfoKM(char *pszString, u32 ui32Flags)
{
	PVRSRV_ERROR eErr;
	u32 ui32MsgLen;
	PDUMP_GET_MSG_STRING();

	eErr = PDumpOSBufprintf(hMsg, ui32MaxLen, "%s", pszString);
	if (eErr != PVRSRV_OK) {
		return eErr;
	}

	PDumpOSVerifyLineEnding(hMsg, ui32MaxLen);
	ui32MsgLen = PDumpOSBuflen(hMsg, ui32MaxLen);

	if (!PDumpOSWriteString(PDumpOSGetStream(PDUMP_STREAM_DRIVERINFO),
				(u8 *) hMsg, ui32MsgLen, ui32Flags)) {
		if (ui32Flags & PDUMP_FLAGS_CONTINUOUS) {
			return PVRSRV_ERROR_GENERIC;
		} else {
			return PVRSRV_ERROR_CMD_NOT_PROCESSED;
		}
	}

	return PVRSRV_OK;
}
/*!
 * \name	PDumpOSVerifyLineEnding
 */
IMG_VOID PDumpOSVerifyLineEnding(IMG_HANDLE hBuffer, IMG_UINT32 ui32BufferSizeMax)
{
	IMG_UINT32 ui32Count;
	IMG_CHAR* pszBuf = hBuffer;

	/* strlen */
	ui32Count = PDumpOSBuflen(hBuffer, ui32BufferSizeMax);

	/* Put \r \n sequence at the end if it isn't already there */
	if ((ui32Count >= 1) && (pszBuf[ui32Count-1] != '\n') && (ui32Count<ui32BufferSizeMax))
	{
		pszBuf[ui32Count] = '\n';
		ui32Count++;
		pszBuf[ui32Count] = '\0';
	}
	if ((ui32Count >= 2) && (pszBuf[ui32Count-2] != '\r') && (ui32Count<ui32BufferSizeMax))
	{
		pszBuf[ui32Count-1] = '\r';
		pszBuf[ui32Count] = '\n';
		ui32Count++;
		pszBuf[ui32Count] = '\0';
	}
}
Ejemplo n.º 3
0
IMG_VOID PDumpOSVerifyLineEnding(IMG_HANDLE hBuffer, IMG_UINT32 ui32BufferSizeMax)
{
	IMG_UINT32 ui32Count;
	IMG_CHAR* pszBuf = hBuffer;


	ui32Count = PDumpOSBuflen(hBuffer, ui32BufferSizeMax);


	if ((ui32Count >= 1) && (pszBuf[ui32Count-1] != '\n') && (ui32Count<ui32BufferSizeMax))
	{
		pszBuf[ui32Count] = '\n';
		ui32Count++;
		pszBuf[ui32Count] = '\0';
	}
	if ((ui32Count >= 2) && (pszBuf[ui32Count-2] != '\r') && (ui32Count<ui32BufferSizeMax))
	{
		pszBuf[ui32Count-1] = '\r';
		pszBuf[ui32Count] = '\n';
		ui32Count++;
		pszBuf[ui32Count] = '\0';
	}
}