LCOV - code coverage report
Current view: top level - src - strerror-sym.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 8 0.0 %
Date: 2016-11-29 14:52:46 Functions: 0 1 0.0 %

          Line data    Source code
       1             : /* strerror-sym.c - Describing an error code with its symbol name.
       2             :    Copyright (C) 2003, 2004 g10 Code GmbH
       3             : 
       4             :    This file is part of libgpg-error.
       5             : 
       6             :    libgpg-error is free software; you can redistribute it and/or
       7             :    modify it under the terms of the GNU Lesser General Public License
       8             :    as published by the Free Software Foundation; either version 2.1 of
       9             :    the License, or (at your option) any later version.
      10             :  
      11             :    libgpg-error is distributed in the hope that it will be useful, but
      12             :    WITHOUT ANY WARRANTY; without even the implied warranty of
      13             :    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      14             :    Lesser General Public License for more details.
      15             :  
      16             :    You should have received a copy of the GNU Lesser General Public
      17             :    License along with libgpg-error; if not, write to the Free
      18             :    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
      19             :    02111-1307, USA.  */
      20             : 
      21             : #if HAVE_CONFIG_H
      22             : #include <config.h>
      23             : #endif
      24             : 
      25             : #include <stddef.h>
      26             : 
      27             : #include <gpg-error.h>
      28             : 
      29             : #include "err-codes-sym.h"
      30             : #include "errnos-sym.h"
      31             : 
      32             : /* Return a pointer to a string containing the name of the symbol of
      33             :    the error code in the error value ERR.  Returns NULL if the error
      34             :    code is not known.  */
      35             : const char *
      36           0 : gpg_strerror_sym (gpg_error_t err)
      37             : {
      38             :   gpg_err_code_t code = gpg_err_code (err);
      39             : 
      40           0 :   if (code & GPG_ERR_SYSTEM_ERROR)
      41             :     {
      42             :       int idx;
      43             : 
      44           0 :       code &= ~GPG_ERR_SYSTEM_ERROR;
      45           0 :       idx = errnos_msgidxof (code);
      46           0 :       if (idx >= 0)
      47           0 :         return errnos_msgstr + errnos_msgidx[idx];
      48             :       else
      49             :         return NULL;
      50             :     }
      51             : 
      52           0 :   if (msgidxof (code) == msgidxof (GPG_ERR_CODE_DIM))
      53             :     return NULL;
      54             : 
      55           0 :   return msgstr + msgidx[msgidxof (code)];
      56             : }

Generated by: LCOV version 1.11