X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=2020-frama-c%2F6100-strlen-1.html;fp=2020-frama-c%2F6100-strlen-1.html;h=c1e5d08bd9f4d04401c65febb8bc6a559141e402;hb=cdd812a7c0637826251f46f4f24172afb636243a;hp=0000000000000000000000000000000000000000;hpb=b418766b4d897080ff67a6bd3bb558b14ec985d4;p=libguestfs-talks.git diff --git a/2020-frama-c/6100-strlen-1.html b/2020-frama-c/6100-strlen-1.html new file mode 100644 index 0000000..c1e5d08 --- /dev/null +++ b/2020-frama-c/6100-strlen-1.html @@ -0,0 +1,20 @@ + + + + +

glibc strlen (part 1)

+ +
+size_t
+test_strlen (const char *str)
+{
+  const char *char_ptr;
+
+  /* Handle the first few characters by reading one character at a time.
+     Do this until CHAR_PTR is aligned on a longword boundary.  */
+  for (char_ptr = str; ((unsigned long int) char_ptr
+			& (sizeof (longword) - 1)) != 0;
+       ++char_ptr)
+    if (*char_ptr == '\0')
+      return char_ptr - str;
+