94
94
path = svn_hash_gets(attrs, "path");
95
95
if (revstr != NULL && path != NULL)
97
svn_revnum_t rev = SVN_STR_TO_REV(revstr);
100
SVN_ERR(svn_cstring_atoi64(&rev_val, revstr));
101
rev = (svn_revnum_t)rev_val;
98
103
apr_hash_set(loc_ctx->paths,
99
104
apr_pmemdup(loc_ctx->pool, &rev, sizeof(rev)), sizeof(rev),
100
105
apr_pstrdup(loc_ctx->pool, path));
109
114
create_get_locations_body(serf_bucket_t **body_bkt,
111
116
serf_bucket_alloc_t *alloc,
117
apr_pool_t *pool /* request pool */,
118
apr_pool_t *scratch_pool)
114
120
serf_bucket_t *buckets;
115
121
loc_context_t *loc_ctx = baton;
171
176
*locations = loc_ctx->paths;
173
178
SVN_ERR(svn_ra_serf__get_stable_url(&req_url, NULL /* latest_revnum */,
174
session, NULL /* conn */,
175
NULL /* url */, peg_revision,
179
session, NULL /* url */, peg_revision,
178
182
xmlctx = svn_ra_serf__xml_context_create(getloc_ttable,
179
183
NULL, getloc_closed, NULL,
182
handler = svn_ra_serf__create_expat_handler(xmlctx, pool);
186
handler = svn_ra_serf__create_expat_handler(session, xmlctx, NULL, pool);
184
188
handler->method = "REPORT";
185
189
handler->path = req_url;
186
190
handler->body_delegate = create_get_locations_body;
187
191
handler->body_delegate_baton = loc_ctx;
188
192
handler->body_type = "text/xml";
189
handler->conn = session->conns[0];
190
handler->session = session;
192
err = svn_ra_serf__context_run_one(handler, pool);
194
SVN_ERR(svn_error_compose_create(
195
svn_ra_serf__error_on_status(handler->sline,
194
SVN_ERR(svn_ra_serf__context_run_one(handler, pool));
196
SVN_ERR(svn_ra_serf__error_on_status(handler->sline,
200
200
return SVN_NO_ERROR;