scripts: container: Fix 'exec' command line parsing.
* guix/scripts/container/exec.scm (partition-args): Reimplement such that all args up to and including the PID are returned as the first of the two values.
This commit is contained in:
parent
bab020d7ca
commit
d431b23240
|
@ -50,10 +50,18 @@ Execute COMMMAND within the container process PID.\n"))
|
|||
(define (partition-args args)
|
||||
"Split ARGS into two lists; one containing the arguments for this program,
|
||||
and the other containing arguments for the command to be executed."
|
||||
(break (lambda (arg)
|
||||
;; Split after the pid argument.
|
||||
(not (false-if-exception (string->number arg))))
|
||||
args))
|
||||
(define (number-string? str)
|
||||
(false-if-exception (string->number str)))
|
||||
|
||||
(let loop ((a '())
|
||||
(b args))
|
||||
(match b
|
||||
(()
|
||||
(values (reverse a) '()))
|
||||
(((? number-string? head) . tail)
|
||||
(values (reverse (cons head a)) tail))
|
||||
((head . tail)
|
||||
(loop (cons head a) tail)))))
|
||||
|
||||
(define (guix-container-exec . args)
|
||||
(define (handle-argument arg result)
|
||||
|
|
Loading…
Reference in New Issue