summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
Diffstat (limited to 'Doc')
-rw-r--r--Doc/lib/libtypes.tex19
-rw-r--r--Doc/libtypes.tex19
2 files changed, 22 insertions, 16 deletions
diff --git a/Doc/lib/libtypes.tex b/Doc/lib/libtypes.tex
index a3bc0b2..379d3fe 100644
--- a/Doc/lib/libtypes.tex
+++ b/Doc/lib/libtypes.tex
@@ -215,9 +215,9 @@ Notes:
\begin{description}
\item[(1)]
-For (plain or long) integer division, the result is an integer; it
-always truncates towards zero.
-% XXXJH integer division is better defined nowadays
+For (plain or long) integer division, the result is an integer.
+The result is always rounded towards minus infinity: 1/2 is 0,
+(-1)/2 is -1, 1/(-2) is -1, and (-1)/(-2) is 0.
\indexii{integer}{division}
\indexiii{long}{integer}{division}
@@ -666,17 +666,17 @@ Files have the following methods:
\code{0}.
\end{funcdesc}
-\begin{funcdesc}{read}{size}
+\begin{funcdesc}{read}{\optional{size}}
Read at most \var{size} bytes from the file (less if the read hits
\EOF{} or no more data is immediately available on a pipe, tty or
- similar device). If the \var{size} argument is omitted, read all
- data until \EOF{} is reached. The bytes are returned as a string
+ similar device). If the \var{size} argument is negative or omitted,
+ read all data until \EOF{} is reached. The bytes are returned as a string
object. An empty string is returned when \EOF{} is encountered
immediately. (For certain files, like ttys, it makes sense to
continue reading after an \EOF{} is hit.)
\end{funcdesc}
-\begin{funcdesc}{readline}{}
+\begin{funcdesc}{readline}optional{size}}
Read one entire line from the file. A trailing newline character is
kept in the string%
\footnote{The advantage of leaving the newline on is that an empty string
@@ -686,7 +686,10 @@ Files have the following methods:
you can tell whether the last line of a file ended in a newline
or not (yes this happens!).}
(but may be absent when a file ends with an
- incomplete line). An empty string is returned when \EOF{} is hit
+ incomplete line). If thevar{size} argument is present and
+ non-negative, it is a maximum byte count (including the trailing
+ newline) and an incomplete line may be returned.
+ An empty string is returned when \EOF{} is hit
immediately. Note: unlike \code{stdio}'s \code{fgets()}, the returned
string contains null characters (\code{'\e 0'}) if they occurred in the
input.
diff --git a/Doc/libtypes.tex b/Doc/libtypes.tex
index a3bc0b2..379d3fe 100644
--- a/Doc/libtypes.tex
+++ b/Doc/libtypes.tex
@@ -215,9 +215,9 @@ Notes:
\begin{description}
\item[(1)]
-For (plain or long) integer division, the result is an integer; it
-always truncates towards zero.
-% XXXJH integer division is better defined nowadays
+For (plain or long) integer division, the result is an integer.
+The result is always rounded towards minus infinity: 1/2 is 0,
+(-1)/2 is -1, 1/(-2) is -1, and (-1)/(-2) is 0.
\indexii{integer}{division}
\indexiii{long}{integer}{division}
@@ -666,17 +666,17 @@ Files have the following methods:
\code{0}.
\end{funcdesc}
-\begin{funcdesc}{read}{size}
+\begin{funcdesc}{read}{\optional{size}}
Read at most \var{size} bytes from the file (less if the read hits
\EOF{} or no more data is immediately available on a pipe, tty or
- similar device). If the \var{size} argument is omitted, read all
- data until \EOF{} is reached. The bytes are returned as a string
+ similar device). If the \var{size} argument is negative or omitted,
+ read all data until \EOF{} is reached. The bytes are returned as a string
object. An empty string is returned when \EOF{} is encountered
immediately. (For certain files, like ttys, it makes sense to
continue reading after an \EOF{} is hit.)
\end{funcdesc}
-\begin{funcdesc}{readline}{}
+\begin{funcdesc}{readline}optional{size}}
Read one entire line from the file. A trailing newline character is
kept in the string%
\footnote{The advantage of leaving the newline on is that an empty string
@@ -686,7 +686,10 @@ Files have the following methods:
you can tell whether the last line of a file ended in a newline
or not (yes this happens!).}
(but may be absent when a file ends with an
- incomplete line). An empty string is returned when \EOF{} is hit
+ incomplete line). If thevar{size} argument is present and
+ non-negative, it is a maximum byte count (including the trailing
+ newline) and an incomplete line may be returned.
+ An empty string is returned when \EOF{} is hit
immediately. Note: unlike \code{stdio}'s \code{fgets()}, the returned
string contains null characters (\code{'\e 0'}) if they occurred in the
input.