[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: system call: how to get access to results ?
From: |
Dale P. Smith |
Subject: |
Re: system call: how to get access to results ? |
Date: |
Sat, 16 Sep 2000 11:21:53 -0400 |
David Pirotte wrote:
>
> Hello,
>
> I have defined the following very simple function, to get access
> to the system date:
>
> (define (system-date . rest)
> (if (null? rest)
> (system "date '+%d-%m-%Y'")
> (system (format #f "date ~A" (car rest)))))
>
> However, I don't know how I can get access to the result, when sending
> a date string and expecting a result, such as:
>
> (system-date (format #f "--date='~A' '+%w'" "09/15/2000")
> 5
> 0
>
> The system "displays" the result, but returned value is the exit code
>
> How can I "get access" to the expected returned value ?
How about the popen module? Something like (pardon my lame code):
(use-modules (ice-9 popen))
(define (system-date . rest)
(let ((p (open-input-pipe (if (null? rest)
"date '+%d-%m-%Y'"
(format #f "date ~A" (car rest))))))
(let ((line (read-line p)))
(close-pipe p)
line)))
(display (system-date))
16-09-2000
(display (system-date ""))
Sat Sep 16 11:22:52 EDT 2000
Although I would probably use something like:
(strftime "%d-%m-%Y" (localtime (current-time)))
-Dale
--
Dale P. Smith
Altus Technologies Corp.
address@hidden
400-746-9000 x309