From fb83842efba5b4f08a151d2f8a0fd43de6c62778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 6 Jan 2013 18:23:44 +0100 Subject: [PATCH] ftp-client: Add `ftp-size'. * guix/ftp-client.scm (ftp-size): New procedure. --- guix/ftp-client.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/guix/ftp-client.scm b/guix/ftp-client.scm index 7e241f37b2..e3bacc3720 100644 --- a/guix/ftp-client.scm +++ b/guix/ftp-client.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2010, 2011, 2012 Ludovic Courtès +;;; Copyright © 2010, 2011, 2012, 2013 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +33,7 @@ ftp-open ftp-close ftp-chdir + ftp-size ftp-list ftp-retr)) @@ -133,6 +134,12 @@ or a TCP port number), and return it." (%ftp-command (string-append "CWD " dir) 250 (ftp-connection-socket conn))) +(define (ftp-size conn file) + "Return the size in bytes of FILE." + (let ((message (%ftp-command (string-append "SIZE " file) 213 + (ftp-connection-socket conn)))) + (string->number (string-trim-both message)))) + (define (ftp-pasv conn) (define %pasv-rx (make-regexp "([0-9]+),([0-9]+),([0-9]+),([0-9]+),([0-9]+),([0-9]+)"))