2 * util.c: A few utility functions.
4 * ====================================================================
5 * Licensed to the Apache Software Foundation (ASF) under one
6 * or more contributor license agreements. See the NOTICE file
7 * distributed with this work for additional information
8 * regarding copyright ownership. The ASF licenses this file
9 * to you under the Apache License, Version 2.0 (the
10 * "License"); you may not use this file except in compliance
11 * with the License. You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing,
16 * software distributed under the License is distributed on an
17 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18 * KIND, either express or implied. See the License for the
19 * specific language governing permissions and limitations
21 * ====================================================================
24 #include "svn_error.h"
25 #include "svn_pools.h"
26 #include "svn_string.h"
27 #include "svn_props.h"
28 #include "svn_subst.h"
34 svn_rdump__normalize_prop(const char *name,
35 const svn_string_t **value,
36 apr_pool_t *result_pool)
38 if (svn_prop_needs_translation(name) && *value)
42 SVN_ERR(svn_subst_translate_cstring2((*value)->data, &cstring,
47 *value = svn_string_create(cstring, result_pool);
53 svn_rdump__normalize_props(apr_hash_t **normal_props,
55 apr_pool_t *result_pool)
59 *normal_props = apr_hash_make(result_pool);
61 for (hi = apr_hash_first(result_pool, props); hi;
62 hi = apr_hash_next(hi))
64 const char *key = apr_hash_this_key(hi);
65 const svn_string_t *value = apr_hash_this_val(hi);
67 SVN_ERR(svn_rdump__normalize_prop(key, &value,
70 svn_hash_sets(*normal_props, key, value);