[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)

(display (system-date))


(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 P. Smith
Altus Technologies Corp.
400-746-9000 x309

reply via email to

[Prev in Thread] Current Thread [Next in Thread]