LTP GCOV extension - code coverage report
Current view: directory - replacements - strlcpy.c
Test: FreeTDS coverage
Date: 2008-11-21 Instrumented lines: 8
Code covered: 75.0 % Executed lines: 6

       1                 : /* FreeTDS - Library of routines accessing Sybase and Microsoft databases
       2                 :  * Copyright (C) 2005 Ziglio Frediano
       3                 :  *
       4                 :  * This library is free software; you can redistribute it and/or
       5                 :  * modify it under the terms of the GNU Library General Public
       6                 :  * License as published by the Free Software Foundation; either
       7                 :  * version 2 of the License, or (at your option) any later version.
       8                 :  *
       9                 :  * This library is distributed in the hope that it will be useful,
      10                 :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      11                 :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      12                 :  * Library General Public License for more details.
      13                 :  *
      14                 :  * You should have received a copy of the GNU Library General Public
      15                 :  * License along with this library; if not, write to the
      16                 :  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
      17                 :  * Boston, MA 02111-1307, USA.
      18                 :  */
      19                 : 
      20                 : #if HAVE_CONFIG_H
      21                 : #include <config.h>
      22                 : #endif
      23                 : 
      24                 : #if HAVE_STRING_H
      25                 : #include <string.h>
      26                 : #endif /* HAVE_STRING_H */
      27                 : 
      28                 : #include "tds_sysdep_private.h"
      29                 : #include "replacements.h"
      30                 : 
      31                 : /* $Id: strlcpy.c,v 1.1 2005/07/18 18:50:20 freddy77 Exp $ */
      32                 : 
      33                 : size_t 
      34                 : tds_strlcpy(char *dest, const char *src, size_t len)
      35            7148 : {
      36            7148 :         size_t l = strlen(src);
      37                 : 
      38            7148 :         --len;
      39            7148 :         if (l > len) {
      40               0 :                 memcpy(dest, src, len);
      41               0 :                 dest[len] = 0;
      42                 :         } else {
      43            7148 :                 memcpy(dest, src, l + 1);
      44                 :         }
      45            7148 :         return l;
      46                 : }
      47                 : 

Generated by: LTP GCOV extension version 1.6