aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src/io_lib_fread.erl
diff options
context:
space:
mode:
authorRaimo Niskanen <[email protected]>2011-07-21 12:28:13 +0200
committerRaimo Niskanen <[email protected]>2011-07-21 12:28:13 +0200
commitfd09fd9f41824fb56fd4d31c2fa18b3f4168e4e9 (patch)
treeb213e163e38de4120e561b5e11d85a9667453298 /lib/stdlib/src/io_lib_fread.erl
parenta3d8134ffcb4ec7be60bdc896fb9be0928c2b1ff (diff)
downloadotp-fd09fd9f41824fb56fd4d31c2fa18b3f4168e4e9.tar.gz
otp-fd09fd9f41824fb56fd4d31c2fa18b3f4168e4e9.tar.bz2
otp-fd09fd9f41824fb56fd4d31c2fa18b3f4168e4e9.zip
At end of input ask for more also for for literal format characters
Diffstat (limited to 'lib/stdlib/src/io_lib_fread.erl')
-rw-r--r--lib/stdlib/src/io_lib_fread.erl8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/stdlib/src/io_lib_fread.erl b/lib/stdlib/src/io_lib_fread.erl
index 52aa4d073c..137759bbab 100644
--- a/lib/stdlib/src/io_lib_fread.erl
+++ b/lib/stdlib/src/io_lib_fread.erl
@@ -121,6 +121,14 @@ fread([C|Format], [C|Line], N, Results) ->
fread(Format, Line, N+1, Results);
fread([_F|_Format], [_C|_Line], _N, _Results) ->
fread_error(input);
+fread([_|_]=Format, [], N, Results) ->
+ {more,Format,N,Results};
+fread([_|_], eof, _N, []) ->
+ %% This is at start of format string so no error.
+ eof;
+fread([_|_], eof, _N, _Results) ->
+ %% This is an error as there is no more input.
+ fread_error(input);
fread([], Line, _N, Results) ->
{ok,reverse(Results),Line}.