Merge branch 'vendor/OPENSSH'
[dragonfly.git] / crypto / openssh / sftp.c
index f87d5fb..bae79f2 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp.c,v 1.132 2010/12/04 00:18:01 djm Exp $ */
+/* $OpenBSD: sftp.c,v 1.136 2012/06/22 14:36:33 dtucker Exp $ */
 /*
  * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
  *
@@ -783,7 +783,6 @@ static int
 do_globbed_ls(struct sftp_conn *conn, char *path, char *strip_path,
     int lflag)
 {
-       Attrib *a = NULL;
        char *fname, *lname;
        glob_t g;
        int err;
@@ -793,7 +792,8 @@ do_globbed_ls(struct sftp_conn *conn, char *path, char *strip_path,
        memset(&g, 0, sizeof(g));
 
        if (remote_glob(conn, path,
-           GLOB_MARK|GLOB_NOCHECK|GLOB_BRACE|GLOB_KEEPSTAT, NULL, &g) ||
+           GLOB_MARK|GLOB_NOCHECK|GLOB_BRACE|GLOB_KEEPSTAT|GLOB_NOSORT,
+           NULL, &g) ||
            (g.gl_pathc && !g.gl_matchc)) {
                if (g.gl_pathc)
                        globfree(&g);
@@ -828,7 +828,7 @@ do_globbed_ls(struct sftp_conn *conn, char *path, char *strip_path,
                colspace = width / columns;
        }
 
-       for (i = 0; g.gl_pathv[i] && !interrupted; i++, a = NULL) {
+       for (i = 0; g.gl_pathv[i] && !interrupted; i++) {
                fname = path_strip(g.gl_pathv[i], strip_path);
                if (lflag & LS_LONG_VIEW) {
                        if (g.gl_statv[i] == NULL) {
@@ -1630,8 +1630,10 @@ complete_cmd_parse(EditLine *el, char *cmd, int lastarg, char quote,
        }
        list[count] = NULL;
 
-       if (count == 0)
+       if (count == 0) {
+               xfree(list);
                return 0;
+       }
 
        /* Complete ambigious command */
        tmp = complete_ambiguous(cmd, list, count);
@@ -1931,13 +1933,8 @@ interactive_loop(struct sftp_conn *conn, char *file1, char *file2)
                xfree(dir);
        }
 
-#if defined(HAVE_SETVBUF) && !defined(BROKEN_SETVBUF)
-       setvbuf(stdout, NULL, _IOLBF, 0);
-       setvbuf(infile, NULL, _IOLBF, 0);
-#else
        setlinebuf(stdout);
        setlinebuf(infile);
-#endif
 
        interactive = !batchmode && isatty(STDIN_FILENO);
        err = 0;