strnlen.c (506B)
1 /* 2 ** Copyright 2001, Travis Geiselbrecht. All rights reserved. 3 ** Distributed under the terms of the NewOS License. 4 */ 5 /* 6 * Copyright (c) 2008 Travis Geiselbrecht 7 * 8 * Use of this source code is governed by a MIT-style 9 * license that can be found in the LICENSE file or at 10 * https://opensource.org/licenses/MIT 11 */ 12 #include <string.h> 13 #include <stdint.h> 14 15 size_t 16 strnlen(char const *s, size_t count) { 17 const char *sc; 18 19 for (sc = s; count-- && *sc != '\0'; ++sc) 20 ; 21 return sc - s; 22 }