--- ../../trunk/check.c 2008-06-20 13:52:03.000000000 +0200 +++ trunk/check.c 2008-08-26 16:07:22.000000000 +0200 @@ -150,8 +150,8 @@ if ( !strcmp(file, "/") ) asprintf(&where_rec, "or 1"); else - asprintf(&where_rec, "or (filename > '%s/' " - "and filename < '%s0')", + asprintf(&where_rec, "UNION ALL SELECT filename from file where filename > '%s/' " + "and filename < '%s0'", url_encode(file), url_encode(file)); } --- ../../trunk/csync2.c 2008-06-20 13:52:03.000000000 +0200 +++ trunk/csync2.c 2008-08-26 16:09:55.000000000 +0200 @@ -657,8 +657,8 @@ if ( !strcmp(realname, "/") ) asprintf(&where_rec, "or 1"); else - asprintf(&where_rec, "or (filename > '%s/' " - "and filename < '%s0')", + asprintf(&where_rec, "UNION ALL SELECT filename from file where filename > '%s/' " + "and filename < '%s0'", url_encode(realname), url_encode(realname)); SQL_BEGIN("Adding dirty entries recursively",