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, -JustinI'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