LCOV - code coverage report
Current view: top level - nsprpub/pr/src/misc - prerror.c (source / functions) Hit Total Coverage
Test: output.info Lines: 8 31 25.8 %
Date: 2017-07-14 16:53:18 Functions: 0 0 -
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2             : /* This Source Code Form is subject to the terms of the Mozilla Public
       3             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       4             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       5             : 
       6             : #include "primpl.h"
       7             : 
       8             : #include <string.h>
       9             : #include <stdlib.h>
      10             : 
      11             : PR_IMPLEMENT(PRErrorCode) PR_GetError(void)
      12             : {
      13          20 :     PRThread *thread = PR_GetCurrentThread();
      14          20 :     return thread->errorCode;
      15             : }
      16             : 
      17             : PR_IMPLEMENT(PRInt32) PR_GetOSError(void)
      18             : {
      19           1 :     PRThread *thread = PR_GetCurrentThread();
      20           1 :     return thread->osErrorCode;
      21             : }
      22             : 
      23             : PR_IMPLEMENT(void) PR_SetError(PRErrorCode code, PRInt32 osErr)
      24             : {
      25             :     PRThread *thread = PR_GetCurrentThread();
      26        1638 :     thread->errorCode = code;
      27        1638 :     thread->osErrorCode = osErr;
      28        1638 :     thread->errorStringLength = 0;
      29        1638 : }
      30             : 
      31             : PR_IMPLEMENT(void) PR_SetErrorText(PRIntn textLength, const char *text)
      32             : {
      33           0 :     PRThread *thread = PR_GetCurrentThread();
      34             : 
      35           0 :     if (0 == textLength)
      36             :     {
      37           0 :             if (NULL != thread->errorString)
      38           0 :                 PR_DELETE(thread->errorString);
      39           0 :             thread->errorStringSize = 0;
      40             :     }
      41             :     else
      42             :     {
      43           0 :             PRIntn size = textLength + 31;  /* actual length to allocate. Plus a little extra */
      44           0 :         if (thread->errorStringSize < textLength+1)  /* do we have room? */
      45             :         {
      46           0 :                 if (NULL != thread->errorString)
      47           0 :                     PR_DELETE(thread->errorString);
      48           0 :                     thread->errorString = (char*)PR_MALLOC(size);
      49           0 :             if ( NULL == thread->errorString ) {
      50           0 :                 thread->errorStringSize = 0;
      51           0 :                 thread->errorStringLength = 0;
      52           0 :                 return;
      53             :             }
      54           0 :             thread->errorStringSize = size;
      55             :             }
      56           0 :         memcpy(thread->errorString, text, textLength+1 );
      57             :     }
      58           0 :     thread->errorStringLength = textLength;
      59             : }
      60             : 
      61             : PR_IMPLEMENT(PRInt32) PR_GetErrorTextLength(void)
      62             : {
      63           0 :     PRThread *thread = PR_GetCurrentThread();
      64           0 :     return thread->errorStringLength;
      65             : }  /* PR_GetErrorTextLength */
      66             : 
      67             : PR_IMPLEMENT(PRInt32) PR_GetErrorText(char *text)
      68             : {
      69           0 :     PRThread *thread = PR_GetCurrentThread();
      70           0 :     if (0 != thread->errorStringLength)
      71           0 :         memcpy(text, thread->errorString, thread->errorStringLength+1);
      72           0 :     return thread->errorStringLength;
      73             : }  /* PR_GetErrorText */
      74             : 
      75             : 

Generated by: LCOV version 1.13