743
744
745
746
747
748
749
750
751
752
753
754
755
756
|
{
if (using_sftp) {
/*
* Find out whether the target filespec is in fact a
* directory.
*/
struct fxp_attrs attrs;
if (!fxp_stat(target, &attrs) ||
!(attrs.flags & SSH_FILEXFER_ATTR_PERMISSIONS))
scp_sftp_targetisdir = 0;
else
scp_sftp_targetisdir = (attrs.permissions & 0040000) != 0;
|
>
>
>
>
>
>
|
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
|
{
if (using_sftp) {
/*
* Find out whether the target filespec is in fact a
* directory.
*/
struct fxp_attrs attrs;
if (!fxp_init()) {
tell_user(stderr, "unable to initialise SFTP: %s", fxp_error());
errs++;
return 1;
}
if (!fxp_stat(target, &attrs) ||
!(attrs.flags & SSH_FILEXFER_ATTR_PERMISSIONS))
scp_sftp_targetisdir = 0;
else
scp_sftp_targetisdir = (attrs.permissions & 0040000) != 0;
|
955
956
957
958
959
960
961
962
963
964
965
966
967
968
|
* right at the start, whereas scp_sink_init is called to
* initialise every level of recursion in the protocol.
*/
int scp_sink_setup(char *source, int preserve, int recursive)
{
if (using_sftp) {
char *newsource;
/*
* It's possible that the source string we've been given
* contains a wildcard. If so, we must split the directory
* away from the wildcard itself (throwing an error if any
* wildcardness comes before the final slash) and arrange
* things so that a dirstack entry will be set up.
*/
|
>
>
>
>
>
>
|
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
|
* right at the start, whereas scp_sink_init is called to
* initialise every level of recursion in the protocol.
*/
int scp_sink_setup(char *source, int preserve, int recursive)
{
if (using_sftp) {
char *newsource;
if (!fxp_init()) {
tell_user(stderr, "unable to initialise SFTP: %s", fxp_error());
errs++;
return 1;
}
/*
* It's possible that the source string we've been given
* contains a wildcard. If so, we must split the directory
* away from the wildcard itself (throwing an error if any
* wildcardness comes before the final slash) and arrange
* things so that a dirstack entry will be set up.
*/
|