summaryrefslogtreecommitdiff
path: root/extra/kdevplatform/subversion17.patch
blob: 782ac38eaa4c1afcc291f498534fd9695521dc00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
commit 74dec52749e3c3af2ac6492f50e2676128f35b27
Author: Milian Wolff <mail@milianw.de>
Date:   Fri Nov 18 16:26:06 2011 +0100

    fix svn api usage: use svn_dirent_canonicalize instead of svn_path_internal_style
    
    this was suggested by Stephan Sperling
    
    CCBUG: 284061

diff --git a/plugins/subversion/kdevsvncpp/path.cpp b/plugins/subversion/kdevsvncpp/path.cpp
index eaa84c1..4dced08 100644
--- a/plugins/subversion/kdevsvncpp/path.cpp
+++ b/plugins/subversion/kdevsvncpp/path.cpp
@@ -24,6 +24,7 @@
 
 // subversion api
 #include "svn_path.h"
+#include "svn_dirent_uri.h"
 
 // apr api
 #include "apr_file_io.h"
@@ -63,8 +64,7 @@ namespace svn
       m_path = "";
     else
     {
-      const char * int_path =
-        svn_path_internal_style(path, pool.pool());
+      const char * int_path = svn_dirent_canonicalize(path, pool);
 
       m_path = int_path;
 
commit cc7f0798d314cdac14b90e427abe22e99c6bd591
Author: Milian Wolff <mail@milianw.de>
Date:   Fri Nov 18 16:23:36 2011 +0100

    properly initialize client context for compatibility with subversion API
    
    this should hopefully fix the crash with svn 1.7 in kdevelop, please test
    
    BUG: 284061

diff --git a/plugins/subversion/kdevsvncpp/context.cpp b/plugins/subversion/kdevsvncpp/context.cpp
index d277591..ddbb657 100644
--- a/plugins/subversion/kdevsvncpp/context.cpp
+++ b/plugins/subversion/kdevsvncpp/context.cpp
@@ -65,7 +65,7 @@ public:
     bool logIsSet;
     int promptCounter;
     Pool pool;
-    svn_client_ctx_t ctx;
+    svn_client_ctx_t * ctx;
     std::string username;
     std::string password;
     std::string logMessage;
@@ -205,26 +205,26 @@ public:
       svn_auth_open(&ab, providers, pool);
 
       // initialize ctx structure
-      memset(&ctx, 0, sizeof(ctx));
+      svn_client_create_context(&ctx, pool);
 
       // get the config based on the configDir passed in
-      svn_config_get_config(&ctx.config, c_configDir, pool);
+      svn_config_get_config(&ctx->config, c_configDir, pool);
 
       // tell the auth functions where the config is
       svn_auth_set_parameter(ab, SVN_AUTH_PARAM_CONFIG_DIR,
                              c_configDir);
 
-      ctx.auth_baton = ab;
-      ctx.log_msg_func = onLogMsg;
-      ctx.log_msg_baton = this;
-      ctx.notify_func = onNotify;
-      ctx.notify_baton = this;
-      ctx.cancel_func = onCancel;
-      ctx.cancel_baton = this;
+      ctx->auth_baton = ab;
+      ctx->log_msg_func = onLogMsg;
+      ctx->log_msg_baton = this;
+      ctx->notify_func = onNotify;
+      ctx->notify_baton = this;
+      ctx->cancel_func = onCancel;
+      ctx->cancel_baton = this;
 
 #if (SVN_VER_MAJOR >= 1) && (SVN_VER_MINOR >= 2)
-      ctx.notify_func2 = onNotify2;
-      ctx.notify_baton2 = this;
+      ctx->notify_func2 = onNotify2;
+      ctx->notify_baton2 = this;
 #endif
     }
 
@@ -234,7 +234,7 @@ public:
       if (!value)
         param = (void *)"1";
 
-      svn_auth_set_parameter(ctx.auth_baton,
+      svn_auth_set_parameter(ctx->auth_baton,
                              SVN_AUTH_PARAM_NO_AUTH_CACHE,
                              param);
     }
@@ -245,7 +245,7 @@ public:
       username = usr;
       password = pwd;
 
-      svn_auth_baton_t * ab = ctx.auth_baton;
+      svn_auth_baton_t * ab = ctx->auth_baton;
       svn_auth_set_parameter(ab, SVN_AUTH_PARAM_DEFAULT_USERNAME,
                              username.c_str());
       svn_auth_set_parameter(ab, SVN_AUTH_PARAM_DEFAULT_PASSWORD,
@@ -654,13 +654,13 @@ public:
 
   Context::operator svn_client_ctx_t * ()
   {
-    return &(m->ctx);
+    return m->ctx;
   }
 
   svn_client_ctx_t *
   Context::ctx()
   {
-    return &(m->ctx);
+    return m->ctx;
   }
 
   void