]> git.pond.sub.org Git - empserver/commitdiff
(save_input, seen_input): Assert argument ends with a newline.
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 18 Nov 2007 09:17:49 +0000 (09:17 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 18 Nov 2007 09:17:49 +0000 (09:17 +0000)
src/client/secure.c

index 258ee313c41948d8b5269343d3d3f44b181fa6b5..deecea2a588a1900208a01fdc2ae4efcdf41cdfb 100644 (file)
@@ -33,6 +33,7 @@
 
 #include <config.h>
 
+#include <assert.h>
 #include <string.h>
 #include "ringbuf.h"
 #include "secure.h"
@@ -45,6 +46,8 @@ save_input(char *inp)
     size_t len = strlen(inp);
     int left;
 
+    assert(len && inp[len - 1] == '\n');
+
     left = ring_putm(&recent_input, inp, len);
     if (left < 0) {
        ring_discard(&recent_input, ring_search(&recent_input, "\n"));
@@ -55,11 +58,14 @@ save_input(char *inp)
 int
 seen_input(char *tail)
 {
+    size_t len = strlen(tail);
     int dist = ring_search(&recent_input, tail);
 
+    assert(len && tail[len - 1] == '\n');
+
     if (dist < 0)
        return 0;
 
-    ring_discard(&recent_input, dist + strlen(tail));
+    ring_discard(&recent_input, dist + len);
     return 1;
 }