From 74ae9c4a252ec3d0b2704771286cda798e859efc Mon Sep 17 00:00:00 2001 From: Tomas Mlcoch Date: Wed, 14 Nov 2012 10:20:40 +0100 Subject: [PATCH] Remove trailing '/' from paths in filelists.sqlite --- src/sqlite.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/sqlite.c b/src/sqlite.c index 8f14a1c..23293a9 100644 --- a/src/sqlite.c +++ b/src/sqlite.c @@ -921,9 +921,17 @@ write_file (gpointer key, gpointer value, gpointer user_data) EncodedPackageFile *file = (EncodedPackageFile *) value; FileWriteInfo *info = (FileWriteInfo *) user_data; int rc; + size_t key_len; + + key_len = strlen((const char *) key); + while (key_len > 1 && ((char *) key)[key_len-1] == '/') { + // Remove trailing '/' char(s) + // If there are only '/' symbols leave only the first one + key_len--; + } sqlite3_bind_int (info->handle, 1, info->pkgKey); - sqlite3_bind_text (info->handle, 2, (const char *) key, -1, SQLITE_STATIC); + sqlite3_bind_text (info->handle, 2, (const char *) key, (int) key_len, SQLITE_STATIC); sqlite3_bind_text (info->handle, 3, file->files->str, -1, SQLITE_STATIC); sqlite3_bind_text (info->handle, 4, file->types->str, -1, SQLITE_STATIC); -- 2.7.4