[BACK]Return to sftp-glob.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/sftp-glob.c between version 1.9 and 1.10

version 1.9, 2001/12/19 07:18:56 version 1.10, 2002/02/13 00:59:23
Line 1 
Line 1 
 /*  /*
  * Copyright (c) 2001 Damien Miller.  All rights reserved.   * Copyright (c) 2001,2002 Damien Miller.  All rights reserved.
  *   *
  * Redistribution and use in source and binary forms, with or without   * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions   * modification, are permitted provided that the following conditions
Line 43 
Line 43 
 };  };
   
 static struct {  static struct {
         int fd_in;          struct sftp_conn *conn;
         int fd_out;  
 } cur;  } cur;
   
 static void *  static void *
Line 54 
Line 53 
   
         r = xmalloc(sizeof(*r));          r = xmalloc(sizeof(*r));
   
         if (do_readdir(cur.fd_in, cur.fd_out, (char*)path, &r->dir))          if (do_readdir(cur.conn, (char*)path, &r->dir))
                 return(NULL);                  return(NULL);
   
         r->offset = 0;          r->offset = 0;
Line 108 
Line 107 
 {  {
         Attrib *a;          Attrib *a;
   
         if (!(a = do_lstat(cur.fd_in, cur.fd_out, (char*)path, 0)))          if (!(a = do_lstat(cur.conn, (char*)path, 0)))
                 return(-1);                  return(-1);
   
         attrib_to_stat(a, st);          attrib_to_stat(a, st);
Line 121 
Line 120 
 {  {
         Attrib *a;          Attrib *a;
   
         if (!(a = do_stat(cur.fd_in, cur.fd_out, (char*)path, 0)))          if (!(a = do_stat(cur.conn, (char*)path, 0)))
                 return(-1);                  return(-1);
   
         attrib_to_stat(a, st);          attrib_to_stat(a, st);
Line 130 
Line 129 
 }  }
   
 int  int
 remote_glob(int fd_in, int fd_out, const char *pattern, int flags,  remote_glob(struct sftp_conn *conn, const char *pattern, int flags,
     int (*errfunc)(const char *, int), glob_t *pglob)      int (*errfunc)(const char *, int), glob_t *pglob)
 {  {
         pglob->gl_opendir = fudge_opendir;          pglob->gl_opendir = fudge_opendir;
Line 140 
Line 139 
         pglob->gl_stat = fudge_stat;          pglob->gl_stat = fudge_stat;
   
         memset(&cur, 0, sizeof(cur));          memset(&cur, 0, sizeof(cur));
         cur.fd_in = fd_in;          cur.conn = conn;
         cur.fd_out = fd_out;  
   
         return(glob(pattern, flags | GLOB_ALTDIRFUNC, errfunc,          return(glob(pattern, flags | GLOB_ALTDIRFUNC, errfunc, pglob));
             pglob));  
 }  }

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10