c1e5d08bd9f4d04401c65febb8bc6a559141e402
[libguestfs-talks.git] / 2020-frama-c / 6200-strlen-1.html
1 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
2 <link rel="stylesheet" href="style.css" type="text/css"/>
3 <script src="code.js" type="text/javascript"></script>
4
5 <h1>glibc strlen (part 1)</h1>
6
7 <pre class="code">
8 size_t
9 test_strlen (const char *str)
10 {
11   const char *char_ptr;
12
13   <span class="comment">/* Handle the first few characters by reading one character at a time.
14      Do this until CHAR_PTR is aligned on a longword boundary.  */</span>
15   for (char_ptr = str; ((unsigned long int) char_ptr
16                         & (sizeof (longword) - 1)) != 0;
17        ++char_ptr)
18     if (*char_ptr == '\0')
19       return char_ptr - str;
20 </pre>