1 /*
2 * Copyright (c) 1994 William F. Jolitz.
3 * 386BSD Copyright Restrictions Apply. All Other Rights Reserved.
4 *
5 * $Id: strlen.h,v 1.1 94/06/09 18:20:04 bill Exp Locker: bill $
6 * Bell V7 string length.
7 */
8
9 __INLINE int
strlen(const char * str)10 strlen(const char *str) {
11 int rv;
12 const char *strcp = str;
13 char zb = 0; /* pattern to scan for */
14 int len = 0; /* length of string (all of address space) */
15
16 asm volatile ("cld ; repne ; scasb"
17 : "=D" (str)
18 : "0" (str), "a" (zb), "c" (len));
19 return (str - strcp - 1);
20 }
21