On 11/03/10 11:29, Chen Guo wrote:
How stupid of me:
+int

+memcoll0 (const char *s1, size_t s1len, const char *s2, size_t s2len)
+{
+  int diff;
+  if (!(s1len>  0&&  s1[s1len] == '\0'))
+    abort ();
+  if (!(s2len>  0&&  s2[s2len] == '\0'))
+    abort ();

should obviously be s1[s1len - 1] and s2[s2len - 1].

Right.
I know Bruno suggestd it, but I wonder is abort() a bit drastic here?
Perhaps something like this might be more general?

  if (s1len==0 && s2len==0)
    return 0
  else if (s1len==0)
    return 1;
  else if (s2len==0)
    return -1;

Also s1len is a bit confusing as it's not the strlen()
it's the size of the s1 buffer. I'd prefer s1size.

I hope to do a full review soon.

thanks,
Pádraig.


Reply via email to