Joachim,

which results do you get on VA Smalltalk for the tests?

Do they all pass?

--Hannes

On 7/1/15, jtuc...@objektfabrik.de <jtuc...@objektfabrik.de> wrote:
> I am not complaining. It just makes porting harder.
>
> What made the thing especially strange was that I only had that problem
> with uploaded files because the Browser removes the trailing CrLf (or
> better, doesn't add another one in the multipart form data). So reading
> from a file all works like a charm, but not when you process the same,
> uploaded file on the server side...
>
> Joachim
>
> Am 01.07.15 um 15:12 schrieb Sven Van Caekenberghe:
>> Yes, on Pharo, #next (and #peek or #peekFor:) all return nil when #atEnd.
>>
>> It is the way it is (I am personally for stricter semantics), but that
>> fact is certainly used in code all allround the place.
>>
>>> On 01 Jul 2015, at 15:06, jtuc...@objektfabrik.de wrote:
>>>
>>> Hi Sven,
>>>
>>> I didn't test on Pharo. But I remember seeing differences in the way
>>> Pharo and VAST react to reads beyond the end of a Stream.
>>> Not sure, but this could have been in NeoCSV context two or three years
>>> ago.
>>>
>>> So it is very likely I was bitten by platform differences.
>>>
>>> Thanks for answering.
>>>
>>> Joachim
>>>
>>> Am 01.07.15 um 14:05 schrieb Sven Van Caekenberghe:
>>>> Hi Joachim,
>>>>
>>>> First, thanks for the feedback.
>>>>
>>>> Second, since you are on a different platform, that might be a factor.
>>>>
>>>> Did you test your problem on Pharo itself ?
>>>>
>>>> Because there are already unit tests specifically for the case you
>>>> describe:
>>>>
>>>> #testEmptyLastFieldUnquoted
>>>> #testEmptyLastFieldQuoted
>>>>
>>>> These obviously pass for Pharo, do they pass for you ?
>>>>
>>>> Maybe your problem case is slightly different though ?
>>>>
>>>> Sven
>>>>
>>>>> On 01 Jul 2015, at 13:40, jtuc...@objektfabrik.de wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I've tried porting SvenVanCaekenberghe.20 and see the same problems in
>>>>> this version. IN addition to the fix already mentioned, I also had to
>>>>> change readSeparator:
>>>>>
>>>>> readSeparator
>>>>>
>>>>>     ^self atEnd ifFalse: [self peekFor: separator]
>>>>>
>>>>> As far as I can tell by now, this fixes the problem at hand. Any ideas
>>>>> if this is a safe fix?
>>>>>
>>>>> Joachim
>>>>>
>>>>>
>>>>> Am 01.07.15 um 12:35 schrieb jtuc...@objektfabrik.de:
>>>>>> Hi there,
>>>>>>
>>>>>> I am on VA Smalltalk and therefor using an older version of NeoCSV
>>>>>> (SvenVanCaekenberghe.14). I found a bug in this old version that is
>>>>>> somewhat special.
>>>>>>
>>>>>> It seems NeoCSV cannot handle the situation where the very last field
>>>>>> is just empty AND if there is no trailing CRLF at the end of the file.
>>>>>> Somethinng like this:
>>>>>>
>>>>>> SecondLastColumnValue;;<EOF>
>>>>>>
>>>>>> In that case, readField fails because it tries to do a readQuotedField
>>>>>> or readUnquotedField, both of which try to read beyond EOF.
>>>>>>
>>>>>> So I changed readField to this:
>>>>>>
>>>>>> readField
>>>>>>
>>>>>>     ^self atEnd "In case the very last field of a file is empty, like
>>>>>> '45;56;;'"
>>>>>>         ifTrue: ['']
>>>>>>         ifFalse: [self peekQuote ifTrue: [self readQuotedField]
>>>>>> ifFalse: [self readUnquotedField]]
>>>>>>
>>>>>> and all seems fine so far.
>>>>>>
>>>>>> Side note: My original file has a trailing CrLf but if I upload it via
>>>>>> a browser to a Seaside Server, the Browser cuts off the trailing CrLf
>>>>>> (I can see this in the Browser's Network debugging tools - both in IE
>>>>>> and FF) - so it seems NeoCSV has to be ready for this situation.
>>>>>>
>>>>>> Joachim
>>>>>>
>>>>>>
>>>>> --
>>>>> -----------------------------------------------------------------------
>>>>> Objektfabrik Joachim Tuchel          mailto:jtuc...@objektfabrik.de
>>>>> Fliederweg 1                         http://www.objektfabrik.de
>>>>> D-71640 Ludwigsburg
>>>>> http://joachimtuchel.wordpress.com
>>>>> Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1
>>>>>
>>>>>
>>>>
>>>
>>> --
>>> -----------------------------------------------------------------------
>>> Objektfabrik Joachim Tuchel          mailto:jtuc...@objektfabrik.de
>>> Fliederweg 1                         http://www.objektfabrik.de
>>> D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
>>> Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1
>>>
>>>
>>
>>
>
>
> --
> -----------------------------------------------------------------------
> Objektfabrik Joachim Tuchel          mailto:jtuc...@objektfabrik.de
> Fliederweg 1                         http://www.objektfabrik.de
> D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
> Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1
>
>
>

Reply via email to