]> git.saurik.com Git - cycript.git/blobdiff - Cycript.l
Started setting up build environment for Cyrver, fixed Functor prototype, organized...
[cycript.git] / Cycript.l
index 43c928533b946c08115cc76abc50505c7a788533..2ab8f0c6dd3ee092d1978655e32a08051c07b3b5 100644 (file)
--- a/Cycript.l
+++ b/Cycript.l
@@ -35,7 +35,10 @@ int H(char c) {
 }
 
 #define YY_INPUT(data, value, size) { \
-    if (yyextra->size_ == 0) \
+    if (yyextra->file_ != NULL) { \
+        size_t copy(fread(data, 1, size, yyextra->file_)); \
+        value = copy == 0 ? YY_NULL : copy; \
+    } else if (yyextra->size_ == 0) \
         value = YY_NULL; \
     else { \
         size_t copy(std::min(size, yyextra->size_)); \
@@ -231,7 +234,7 @@ Escape   \\[\\'"bfnrtv]|\\0|\\x[0-9a-fA-F]{2}|\\u[0-9a-fA-F]{4}
 [ \t] L
 <<EOF>> L yyterminate();
 
-. {
+. {
     CYDriver::Error error;
     error.location_ = *yylloc;
     error.message_ = "syntax error, unknown token";