head 1.1; access; symbols pkgsrc-2026Q1:1.1.0.86 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.84 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.82 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.80 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.78 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.76 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.74 pkgsrc-2024Q3-base:1.1 pkgsrc-2024Q2:1.1.0.72 pkgsrc-2024Q2-base:1.1 pkgsrc-2024Q1:1.1.0.70 pkgsrc-2024Q1-base:1.1 pkgsrc-2023Q4:1.1.0.68 pkgsrc-2023Q4-base:1.1 pkgsrc-2023Q3:1.1.0.66 pkgsrc-2023Q3-base:1.1 pkgsrc-2023Q2:1.1.0.64 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.62 pkgsrc-2023Q1-base:1.1 pkgsrc-2022Q4:1.1.0.60 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.58 pkgsrc-2022Q3-base:1.1 pkgsrc-2022Q2:1.1.0.56 pkgsrc-2022Q2-base:1.1 pkgsrc-2022Q1:1.1.0.54 pkgsrc-2022Q1-base:1.1 pkgsrc-2021Q4:1.1.0.52 pkgsrc-2021Q4-base:1.1 pkgsrc-2021Q3:1.1.0.50 pkgsrc-2021Q3-base:1.1 pkgsrc-2021Q2:1.1.0.48 pkgsrc-2021Q2-base:1.1 pkgsrc-2021Q1:1.1.0.46 pkgsrc-2021Q1-base:1.1 pkgsrc-2020Q4:1.1.0.44 pkgsrc-2020Q4-base:1.1 pkgsrc-2020Q3:1.1.0.42 pkgsrc-2020Q3-base:1.1 pkgsrc-2020Q2:1.1.0.38 pkgsrc-2020Q2-base:1.1 pkgsrc-2020Q1:1.1.0.18 pkgsrc-2020Q1-base:1.1 pkgsrc-2019Q4:1.1.0.40 pkgsrc-2019Q4-base:1.1 pkgsrc-2019Q3:1.1.0.36 pkgsrc-2019Q3-base:1.1 pkgsrc-2019Q2:1.1.0.34 pkgsrc-2019Q2-base:1.1 pkgsrc-2019Q1:1.1.0.32 pkgsrc-2019Q1-base:1.1 pkgsrc-2018Q4:1.1.0.30 pkgsrc-2018Q4-base:1.1 pkgsrc-2018Q3:1.1.0.28 pkgsrc-2018Q3-base:1.1 pkgsrc-2018Q2:1.1.0.26 pkgsrc-2018Q2-base:1.1 pkgsrc-2018Q1:1.1.0.24 pkgsrc-2018Q1-base:1.1 pkgsrc-2017Q4:1.1.0.22 pkgsrc-2017Q4-base:1.1 pkgsrc-2017Q3:1.1.0.20 pkgsrc-2017Q3-base:1.1 pkgsrc-2017Q2:1.1.0.16 pkgsrc-2017Q2-base:1.1 pkgsrc-2017Q1:1.1.0.14 pkgsrc-2017Q1-base:1.1 pkgsrc-2016Q4:1.1.0.12 pkgsrc-2016Q4-base:1.1 pkgsrc-2016Q3:1.1.0.10 pkgsrc-2016Q3-base:1.1 pkgsrc-2016Q2:1.1.0.8 pkgsrc-2016Q2-base:1.1 pkgsrc-2016Q1:1.1.0.6 pkgsrc-2016Q1-base:1.1 pkgsrc-2015Q4:1.1.0.4 pkgsrc-2015Q4-base:1.1 pkgsrc-2015Q3:1.1.0.2 pkgsrc-2015Q3-base:1.1; locks; strict; comment @// @; 1.1 date 2015.09.23.11.45.54; author joerg; state Exp; branches; next ; commitid GAmqKHTBpGJT3nCy; desc @@ 1.1 log @Try to get subversion support to at least build again. @ text @$NetBSD$ --- svn/svn.cpp.orig 2015-09-20 17:51:35.000000000 +0000 +++ svn/svn.cpp @@@@ -54,6 +54,8 @@@@ #include "svn.h" #include +#include + 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 &a, const std::pair &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 > 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(key), reinterpret_cast(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(); @