root/replace/strnlen.c

/* [previous][next][first][last][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. strnlen

   1 #include <crm_internal.h>
   2 #include <string.h>
   3 /*
   4  * Copyright (C) 2003 Alan Robertson <alanr@unix.sh>
   5  * This software licensed under the GNU LGPL.
   6  *
   7  * This library is free software; you can redistribute it and/or
   8  * modify it under the terms of the GNU Lesser General Public
   9  * License as published by the Free Software Foundation; either
  10  * version 2.1 of the License, or (at your option) any later version.
  11  * 
  12  * This library is distributed in the hope that it will be useful,
  13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15  * Lesser General Public License for more details.
  16  * 
  17  * You should have received a copy of the GNU Lesser General Public
  18  * License along with this library; if not, write to the Free Software
  19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  20  *
  21  */
  22 
  23 size_t
  24 strnlen(const char *s, size_t maxlen)
     /* [previous][next][first][last][top][bottom][index][help] */
  25 {
  26     const char *eospos;
  27 
  28     eospos = memchr(s, (int)'\0', maxlen);
  29 
  30     return (eospos == NULL ? maxlen : (size_t) (eospos - s));
  31 }

/* [previous][next][first][last][top][bottom][index][help] */