cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-6938) iOS File plugin: copyTo for file returns error when destination file exists
Date Mon, 01 Oct 2018 13:43:00 GMT

    [ https://issues.apache.org/jira/browse/CB-6938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16634038#comment-16634038
] 

ASF GitHub Bot commented on CB-6938:
------------------------------------

janpio commented on issue #211: CB-6938: (fix) on iOS, copyTo should overwrite any existing
file
URL: https://github.com/apache/cordova-plugin-file/pull/211#issuecomment-425912239
 
 
   Hey, I just fixed the problem that caused Android tests to fail in `master`. Could you
rebase this PR please? This should get rid of the Android failures and possibly fix all test
failures for this PR.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> iOS File plugin: copyTo for file returns error when destination file exists
> ---------------------------------------------------------------------------
>
>                 Key: CB-6938
>                 URL: https://issues.apache.org/jira/browse/CB-6938
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: cordova-plugin-file
>    Affects Versions: 3.5.0
>         Environment: ios
>            Reporter: vldmrrrr
>            Assignee: Ian Clelland
>            Priority: Major
>              Labels: iOS
>
> According to w3c spec:
> A copy of a file on top of an existing file must attempt to delete and replace that file.
> iOS version of plugin in file CDVLocalFilesystem.m contains this code for the case:
> {code}
>                 } else if (bNewExists) {
>                     // the full destination should NOT already exist if a copy
>                     errCode = PATH_EXISTS_ERR;
> {code}
> Suggested patch:
> {code}
> diff --git a/src/ios/CDVLocalFilesystem.m b/src/ios/CDVLocalFilesystem.m
> index d1576ad..f5aa508 100644
> --- a/src/ios/CDVLocalFilesystem.m
> +++ b/src/ios/CDVLocalFilesystem.m
> @@ -535,11 +535,11 @@
>                  if (bSrcIsDir && ![self canCopyMoveSrc:srcFullPath ToDestination:newFileSystemPath])
{
>                      // can't copy dir into self
>                      errCode = INVALID_MODIFICATION_ERR;
> -                } else if (bNewExists) {
> -                    // the full destination should NOT already exist if a copy
> -                    errCode = PATH_EXISTS_ERR;
>                  } else {
> -                    bSuccess = [fileMgr copyItemAtPath:srcFullPath toPath:newFileSystemPath
error:&error];
> +                   bSuccess = YES;
> +                    if (bNewExists)
> +                        bSuccess = [fileMgr removeItemAtPath:newFileSystemPath error:&error];
> +                    if (bSuccess)
> +                        bSuccess = [fileMgr copyItemAtPath:srcFullPath toPath:newFileSystemPath
error:&error];
>                  }
>              } else { // move
>                  // iOS requires that destination must not exist before calling moveTo
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message