Difference in Windows and Linux with PARSE

Started by pjot, September 03, 2004, 01:27:41 PM

Previous topic - Next topic

pjot

Hi,



Using newLisp 8.1.5, also occuring with 8.1.4. The following line works OK in Windows:



> (parse (date (apply date-value (now))) " ")

("Fri" "Sep" "3" "22:21:36" "2004")



So this is OK. An 'nth 3' delivers the time. In Linux however, the result is different:



> (parse (date (apply date-value (now))) " ")

("Fri" "Sep" "" "3" "22:21:36" "2004")



I have to use an 'nth 4' to get the time here. An extra list entity is returned, an entity which is empty: "".



How come this difference occurs?



Peter

Lutz

#1
On Linux/UNIX there is an extra space to account for 2-digit days to make the whole date string constant length and your are parsing with one space.



Do the following and you will be fine:



(parse date-string "[ ]+" 0)     ; break at on or more spaces



;; or



(parse date-string "\s+" 0)



Lutz

pjot

#2
And again, newLisp appears to be smarter than I am... :-) Thank you.