Page 1 of 1

Difference in Windows and Linux with PARSE

Posted: Fri Sep 03, 2004 8:27 pm
by 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

Posted: Fri Sep 03, 2004 8:38 pm
by Lutz
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

Posted: Fri Sep 03, 2004 9:14 pm
by pjot
And again, newLisp appears to be smarter than I am... :-) Thank you.