summaryrefslogtreecommitdiff
path: root/src/getln.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/getln.c')
-rw-r--r--src/getln.c35
1 files changed, 23 insertions, 12 deletions
diff --git a/src/getln.c b/src/getln.c
index f83d3c2..64189fe 100644
--- a/src/getln.c
+++ b/src/getln.c
@@ -1,6 +1,7 @@
-#include "byte.h"
#include "getln.h"
+#include "byte.h"
+
/**
@file getln.c
@author djb
@@ -8,36 +9,46 @@
@brief evaluting tokenized input arguments
*/
-int getln(buffer *b,stralloc *sa,int *match,int sep)
+int getln(buffer *b, stralloc *sa, int *match, int sep)
{
char *cont;
unsigned int clen;
- if (sgetln(b,sa,&cont,&clen,sep) == -1) return -1;
- if (!clen) { *match = 0; return 0; }
- if (!stralloc_catb(sa,cont,clen)) return -1;
+ if (sgetln(b, sa, &cont, &clen, sep) == -1) return -1;
+ if (!clen) {
+ *match = 0;
+ return 0;
+ }
+ if (!stralloc_catb(sa, cont, clen)) return -1;
*match = 1;
return 0;
}
-int sgetln(buffer *b,stralloc *sa,char **cont,unsigned int *clen,int sep)
+int sgetln(buffer *b, stralloc *sa, char **cont, unsigned int *clen, int sep)
{
register char *x;
register unsigned int i;
int n;
- if (!stralloc_ready(sa,0)) return -1;
+ if (!stralloc_ready(sa, 0)) return -1;
sa->len = 0;
for (;;) {
n = buffer_feed(b);
if (n < 0) return -1;
- if (n == 0) { *clen = 0; return 0; }
+ if (n == 0) {
+ *clen = 0;
+ return 0;
+ }
x = buffer_PEEK(b);
- i = byte_chr(x,n,sep);
- if (i < n) { buffer_SEEK(b,*clen = i + 1); *cont = x; return 0; }
- if (!stralloc_readyplus(sa,n)) return -1;
+ i = byte_chr(x, n, sep);
+ if (i < n) {
+ buffer_SEEK(b, *clen = i + 1);
+ *cont = x;
+ return 0;
+ }
+ if (!stralloc_readyplus(sa, n)) return -1;
i = sa->len;
- sa->len = i + buffer_get(b,sa->s + i,n);
+ sa->len = i + buffer_get(b, sa->s + i, n);
}
}