Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F144230380
D4002.id9714.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D4002.id9714.diff
View Options
Index: devel/kdesdk4-kioslaves/files/patch-svn_svn.cpp
===================================================================
--- devel/kdesdk4-kioslaves/files/patch-svn_svn.cpp
+++ devel/kdesdk4-kioslaves/files/patch-svn_svn.cpp
@@ -0,0 +1,82 @@
+$NetBSD: patch-svn_svn.cpp,v 1.1 2015/09/23 11:45:54 joerg Exp $
+
+--- svn/svn.cpp.orig 2015-09-20 17:51:35.000000000 +0000
++++ svn/svn.cpp
+@@ -54,6 +54,8 @@
+ #include "svn.h"
+ #include <apr_portable.h>
+
++#include <algorithm>
++
+ using namespace KIO;
+
+ typedef struct
+@@ -107,11 +109,6 @@ static svn_error_t *write_to_string(void
+ return SVN_NO_ERROR;
+ }
+
+-static int
+-compare_items_as_paths (const svn_sort__item_t*a, const svn_sort__item_t*b) {
+- return svn_path_compare_paths ((const char *)a->key, (const char *)b->key);
+-}
+-
+ kio_svnProtocol::kio_svnProtocol(const QByteArray &pool_socket, const QByteArray &app_socket)
+ : SlaveBase("kio_svn", pool_socket, app_socket) {
+ kDebug(7128) << "kio_svnProtocol::kio_svnProtocol()";
+@@ -515,6 +512,11 @@ void kio_svnProtocol::stat(const KUrl &
+ svn_pool_destroy( subpool );
+ }
+
++static bool
++sort_by_path(const std::pair<const char *, svn_dirent_t *> &a, const std::pair<const char *, svn_dirent_t *> &b) {
++ return svn_path_compare_paths(a.first, b.first) < 0;
++}
++
+ void kio_svnProtocol::listDir(const KUrl& url) {
+ kDebug(7128) << "kio_svn::listDir(const KUrl& url) : " << url.url();
+
+@@ -547,23 +549,23 @@ void kio_svnProtocol::listDir(const KUrl
+ return;
+ }
+
+- apr_array_header_t *array;
+- int i;
+-
+- array = svn_sort__hash (dirents, compare_items_as_paths, subpool);
++ std::vector<std::pair<const char *, svn_dirent_t *> > array;
++ for (apr_hash_index_t *hi = apr_hash_first(subpool, dirents); hi; hi = apr_hash_next(hi)) {
++ const void *key;
++ void *data;
++ apr_hash_this(hi, &key, NULL, &data);
++ array.push_back(std::make_pair(reinterpret_cast<const char *>(key), reinterpret_cast<svn_dirent_t *>(data)));
++ }
++ std::sort(array.begin(), array.end(), sort_by_path);
+
+- UDSEntry entry;
+- for (i = 0; i < array->nelts; ++i) {
++ UDSEntry entry;
++ for (size_t i = 0; i < array.size(); ++i) {
+ entry.clear();
+ const char *utf8_entryname, *native_entryname;
+ svn_dirent_t *dirent;
+- svn_sort__item_t *item;
+
+- item = &APR_ARRAY_IDX (array, i, svn_sort__item_t);
+-
+- utf8_entryname = (const char*)item->key;
+-
+- dirent = (svn_dirent_t*)apr_hash_get (dirents, utf8_entryname, item->klen);
++ utf8_entryname = array[i].first;
++ dirent = array[i].second;
+
+ svn_utf_cstring_from_utf8 (&native_entryname, utf8_entryname, subpool);
+ const char *native_author = NULL;
+@@ -577,7 +579,7 @@ void kio_svnProtocol::listDir(const KUrl
+ if ( createUDSEntry(QString( native_entryname ), QString( native_author ), dirent->size,
+ dirent->kind==svn_node_dir ? true : false, mtime, entry) )
+ listEntry( entry, false );
+- }
++ }
+ listEntry( entry, true );
+
+ finished();
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Feb 7, 8:25 PM (19 h, 39 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28458419
Default Alt Text
D4002.id9714.diff (2 KB)
Attached To
Mode
D4002: devel/kdesdk4-kioslave: Use pkgsrc's patch to fix build
Attached
Detach File
Event Timeline
Log In to Comment