digitalmars.D - wierd behavior with din.readLine()
- Justin Greenwood (19/19) Nov 23 2007 Hi,
- CyaNox (4/26) Dec 05 2007 I'm not sure about your specific problem but I do know that when you rea...
Hi,
I've been working on a CGI web framework and ran into some unexpected
behavior from din.readLine when looping through a data stream coming in
from a multipart form web request. It seems that it is adding an extra
blank line after each expected line. This could be due to bad code
splitting the line at the CR and then again at the LF instead of seeing
that as one EOL sequence. According to the docs, this doesn't seem like
the correct behavior. when I output the data reading in character by
character, everything looks correct. Here is the code:
while (!din.eof)
{
line = din.readLine();
...
}
I am running the DMD compiler on fedora core linux using Phobos. Any
ideas? Is this how it's supposed to work or is there something I'm doing
wrong?
Thanks much for any help,
-Justin
Nov 23 2007
Justin Greenwood wrote:
Hi,
I've been working on a CGI web framework and ran into some unexpected
behavior from din.readLine when looping through a data stream coming in
from a multipart form web request. It seems that it is adding an extra
blank line after each expected line. This could be due to bad code
splitting the line at the CR and then again at the LF instead of seeing
that as one EOL sequence. According to the docs, this doesn't seem like
the correct behavior. when I output the data reading in character by
character, everything looks correct. Here is the code:
while (!din.eof)
{
line = din.readLine();
...
}
I am running the DMD compiler on fedora core linux using Phobos. Any
ideas? Is this how it's supposed to work or is there something I'm doing
wrong?
Thanks much for any help,
-Justin
I'm not sure about your specific problem but I do know that when you read stdin
in CGI you should never rely on the EOF marker. Instead use the specified
environment variable CONTENT_LENGTH and read nothing more or less from stdin.
Greetings,
Mark Sanders.
Dec 05 2007








CyaNox <mark cyanox.nl>