(save_input, seen_input): Assert argument ends with a newline.
This commit is contained in:
parent
8e77e66338
commit
24048a7f12
1 changed files with 7 additions and 1 deletions
|
@ -33,6 +33,7 @@
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "ringbuf.h"
|
#include "ringbuf.h"
|
||||||
#include "secure.h"
|
#include "secure.h"
|
||||||
|
@ -45,6 +46,8 @@ save_input(char *inp)
|
||||||
size_t len = strlen(inp);
|
size_t len = strlen(inp);
|
||||||
int left;
|
int left;
|
||||||
|
|
||||||
|
assert(len && inp[len - 1] == '\n');
|
||||||
|
|
||||||
left = ring_putm(&recent_input, inp, len);
|
left = ring_putm(&recent_input, inp, len);
|
||||||
if (left < 0) {
|
if (left < 0) {
|
||||||
ring_discard(&recent_input, ring_search(&recent_input, "\n"));
|
ring_discard(&recent_input, ring_search(&recent_input, "\n"));
|
||||||
|
@ -55,11 +58,14 @@ save_input(char *inp)
|
||||||
int
|
int
|
||||||
seen_input(char *tail)
|
seen_input(char *tail)
|
||||||
{
|
{
|
||||||
|
size_t len = strlen(tail);
|
||||||
int dist = ring_search(&recent_input, tail);
|
int dist = ring_search(&recent_input, tail);
|
||||||
|
|
||||||
|
assert(len && tail[len - 1] == '\n');
|
||||||
|
|
||||||
if (dist < 0)
|
if (dist < 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
ring_discard(&recent_input, dist + strlen(tail));
|
ring_discard(&recent_input, dist + len);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue