#else /* HAVE_FNMATCH */
#include <shlwapi.h>
-int csync_fnmatch(__const char *__pattern, __const char *__name, int __flags) {
- wchar_t *pat = NULL;
- wchar_t *name = NULL;
+int csync_fnmatch(const char *pattern, const char *name, int flags) {
BOOL match;
- (void) __flags;
-
- name = c_utf8_string_to_locale(__name);
- pat = c_utf8_string_to_locale(__pattern);
+ (void) flags;
- match = PathMatchSpecW(name, pat);
+ match = PathMatchSpecA(name, pattern);
- c_free_locale_string(pat);
- c_free_locale_string(name);
if(match)
return 0;
else
rc = csync_exclude_load(EXCLUDE_LIST_FILE, &(csync->excludes));
assert_int_equal(rc, 0);
+ /* and add some unicode stuff */
+ rc = _csync_exclude_add(&(csync->excludes), "*.💩");
+ assert_int_equal(rc, 0);
+ rc = _csync_exclude_add(&(csync->excludes), "пятницы.*");
+ assert_int_equal(rc, 0);
+
*state = csync;
}
rc = csync_excluded(csync, ".netscape/cache", CSYNC_FTW_TYPE_FILE);
assert_int_equal(rc, CSYNC_NOT_EXCLUDED);
+ /* Not excluded */
+ rc = csync_excluded(csync, "unicode/中文.hé", CSYNC_FTW_TYPE_FILE);
+ assert_int_equal(rc, CSYNC_NOT_EXCLUDED);
+ /* excluded */
+ rc = csync_excluded(csync, "unicode/пятницы.txt", CSYNC_FTW_TYPE_FILE);
+ assert_int_equal(rc, CSYNC_FILE_EXCLUDE_LIST);
+ rc = csync_excluded(csync, "unicode/中文.💩", CSYNC_FTW_TYPE_FILE);
+ assert_int_equal(rc, CSYNC_FILE_EXCLUDE_LIST);
+
+
}
static void check_csync_excluded_traversal(void **state)