diff options
| author | Xinchen Hui <laruence@gmail.com> | 2013-12-15 16:55:29 +0800 |
|---|---|---|
| committer | Xinchen Hui <laruence@gmail.com> | 2013-12-15 16:55:29 +0800 |
| commit | 5eb8d9d70009c0bf9bfbbf511f2713e64dc8ee83 (patch) | |
| tree | 2480a26e79d85b4b7f2eacb5a2187eb13f029094 /ext/zip/lib/zip_rename.c | |
| parent | 10964b78548a5878254f5aa75f4cfdcedb0543bc (diff) | |
| parent | 904721189ff949c67795ec418f04b67951cbd57b (diff) | |
| download | php-git-5eb8d9d70009c0bf9bfbbf511f2713e64dc8ee83.tar.gz | |
Merge branch 'PHP-5.6' of https://git.php.net/push/php-src into PHP-5.6
Diffstat (limited to 'ext/zip/lib/zip_rename.c')
| -rw-r--r-- | ext/zip/lib/zip_rename.c | 31 |
1 files changed, 4 insertions, 27 deletions
diff --git a/ext/zip/lib/zip_rename.c b/ext/zip/lib/zip_rename.c index 6b5a035917..8841caeca9 100644 --- a/ext/zip/lib/zip_rename.c +++ b/ext/zip/lib/zip_rename.c @@ -1,6 +1,6 @@ /* zip_rename.c -- rename file in zip archive - Copyright (C) 1999-2009 Dieter Baron and Thomas Klausner + Copyright (C) 1999-2012 Dieter Baron and Thomas Klausner This file is part of libzip, a library to manipulate ZIP archives. The authors can be contacted at <libzip@nih.at> @@ -35,36 +35,13 @@ #include <string.h> +#define _ZIP_COMPILING_DEPRECATED #include "zipint.h" -ZIP_EXTERN(int) +ZIP_EXTERN int zip_rename(struct zip *za, zip_uint64_t idx, const char *name) { - const char *old_name; - int old_is_dir, new_is_dir; - - if (idx >= za->nentry || name[0] == '\0') { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - if (ZIP_IS_RDONLY(za)) { - _zip_error_set(&za->error, ZIP_ER_RDONLY, 0); - return -1; - } - - if ((old_name=zip_get_name(za, idx, 0)) == NULL) - return -1; - - new_is_dir = (name[strlen(name)-1] == '/'); - old_is_dir = (old_name[strlen(old_name)-1] == '/'); - - if (new_is_dir != old_is_dir) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - return _zip_set_name(za, idx, name); + return zip_file_rename(za, idx, name, 0); } |
