summaryrefslogtreecommitdiff
path: root/pico/file.c
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2013-10-13 02:08:28 -0600
committerEduardo Chappa <chappa@washington.edu>2013-10-13 02:08:28 -0600
commitee95edb6a42df4b45c82080c32f852781f289a02 (patch)
tree1fc71517846468677163b76dbf2400b59d7997b5 /pico/file.c
parent30a979ab1460a57d466a6a5cc6adb96eac452ce4 (diff)
downloadalpine-ee95edb6a42df4b45c82080c32f852781f289a02.tar.xz
* Fixes in Pico so that it will crash in big files, instead of looping
forever. Todo: see how this can be improved. * Add support for UID EXPUNGE in selected folders.
Diffstat (limited to 'pico/file.c')
-rw-r--r--pico/file.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/pico/file.c b/pico/file.c
index 2493d02b..8185593b 100644
--- a/pico/file.c
+++ b/pico/file.c
@@ -519,7 +519,10 @@ readin(char fname[], /* name of file to read */
}
else{
if(newline){
- lnewline();
+ if(lnewline() == FALSE){
+ done++;
+ continue;
+ }
newline = 0;
}
@@ -530,7 +533,7 @@ readin(char fname[], /* name of file to read */
case FIOLNG :
for(linep = line; charsread-- > 0; linep++)
- linsert(1, *linep);
+ if(linsert(1, *linep) == FALSE) done++;
break;
@@ -975,8 +978,11 @@ ifile(char fname[])
}
else{
if(newline){
- lnewline();
- newline = 0;
+ if(lnewline() == FALSE){
+ done++;
+ continue;
+ }
+ newline = 0;
}
switch(s){
@@ -986,7 +992,7 @@ ifile(char fname[])
case FIOLNG :
for(linep = line; charsread-- > 0; linep++)
- linsert(1, *linep);
+ if(linsert(1, *linep) == FALSE) done++;
break;