[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] misc: Allow %% to escape a single % in paths.


For example "%d/config%%1" is expanded to "~/.ssh/config%1".
---
 src/misc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/misc.c b/src/misc.c
index dccb12a3..c918fc49 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -819,6 +819,7 @@ char *ssh_path_expand_escape(ssh_session session, const char *s) {
 
     for (i = 0; *p != '\0'; p++) {
         if (*p != '%') {
+        escape:
             buf[i] = *p;
             i++;
             if (i >= MAX_BUF_SIZE) {
@@ -835,6 +836,8 @@ char *ssh_path_expand_escape(ssh_session session, const char *s) {
         }
 
         switch (*p) {
+            case '%':
+                goto escape;
             case 'd':
                 x = strdup(session->opts.sshdir);
                 break;
-- 
2.20.1


Follow-Ups:
Re: [PATCH] misc: Allow %% to escape a single % in paths."Richard W.M. Jones" <rjones@xxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org