Fix a bug when strings and comments do not end in stdin
diff --git a/src/bc.c b/src/bc.c
index e23dce5..8dea0d4 100644
--- a/src/bc.c
+++ b/src/bc.c
@@ -80,8 +80,7 @@
 
   BcStatus s = bc_lex_text(&bc->parse.lex, text);
 
-  if (s && (s = bc_error_file(s, bc->parse.lex.file, bc->parse.lex.line)))
-    return s;
+  if (s) return bc_error_file(s, bc->parse.lex.file, bc->parse.lex.line);
 
   while (bc->parse.lex.token.type != BC_LEX_EOF) {
 
@@ -228,6 +227,9 @@
   // closed. It's not a problem in that case.
   s = s == BC_STATUS_IO_ERR ? BC_STATUS_SUCCESS : s;
 
+  if (string) s = BC_STATUS_LEX_NO_STRING_END;
+  else if (comment) s = BC_STATUS_LEX_NO_COMMENT_END;
+
 exit_err:
   free(buf);
 buf_err: