API cleanup, be less strict with file name arguments.
diff --git a/lib/zip_rename.c b/lib/zip_rename.c
index ea2e676..41f63b9 100644
--- a/lib/zip_rename.c
+++ b/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>
@@ -42,29 +42,5 @@
 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 == NULL || strlen(name) > ZIP_UINT16_MAX) {
-	_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);
 }