Index: src/d8.cc |
=================================================================== |
--- src/d8.cc (revision 2740) |
+++ src/d8.cc (working copy) |
@@ -180,15 +180,15 @@ |
Handle<Value> Shell::ReadLine(const Arguments& args) { |
- char line_buf[256]; |
- if (fgets(line_buf, sizeof(line_buf), stdin) == NULL) { |
- return ThrowException(String::New("Error reading line")); |
+ i::SmartPointer<char> line(i::ReadLine("")); |
+ if (*line == NULL) { |
+ return Null(); |
} |
- int len = strlen(line_buf); |
- if (line_buf[len - 1] == '\n') { |
+ size_t len = strlen(*line); |
+ if (len > 0 && line[len - 1] == '\n') { |
--len; |
} |
- return String::New(line_buf, len); |
+ return String::New(*line, len); |
} |