From 13455c70065bfbf07f1e51e3c16816ca264be549 Mon Sep 17 00:00:00 2001 From: dtucker Date: Wed, 13 Jan 2010 11:45:03 +0000 Subject: [PATCH] - djm@cvs.openbsd.org 2010/01/13 04:10:50 [sftp.c] don't append a space after inserting a completion of a directory (i.e. a path ending in '/') for a slightly better user experience; ok dtucker@ --- ChangeLog | 4 ++++ sftp.c | 9 +++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1b86fe47..00cb316b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -26,6 +26,10 @@ [servconf.c servconf.h sshd.c] avoid run-time failures when specifying hostkeys via a relative path by prepending the cwd in these cases; bz#1290; ok dtucker@ + - djm@cvs.openbsd.org 2010/01/13 04:10:50 + [sftp.c] + don't append a space after inserting a completion of a directory (i.e. + a path ending in '/') for a slightly better user experience; ok dtucker@ 20100112 - (dtucker) OpenBSD CVS Sync diff --git a/sftp.c b/sftp.c index 16f84987..3bacb7d5 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.119 2010/01/13 01:40:16 djm Exp $ */ +/* $OpenBSD: sftp.c,v 1.120 2010/01/13 04:10:50 djm Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -1760,15 +1760,12 @@ complete_match(EditLine *el, struct sftp_conn *conn, char *remote_path, } lf = el_line(el); - /* - * XXX should we really extend here? the user may not be done if - * the filename is a directory. - */ if (g.gl_matchc == 1) { i = 0; if (!terminated) ins[i++] = quote; - if (lastarg || *(lf->cursor) != ' ') + if (*(lf->cursor - 1) != '/' && + (lastarg || *(lf->cursor) != ' ')) ins[i++] = ' '; ins[i] = '\0'; if (i > 0 && el_insertstr(el, ins) == -1) -- 2.45.1