guile-user
[Top][All Lists]
Advanced

[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


reply via email to

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