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'; } }
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'; } }