2 * This file is part of FFmpeg.
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 #ifndef AVFORMAT_URLDECODE_H
20 #define AVFORMAT_URLDECODE_H
25 * Decodes an URL from its percent-encoded form back into normal
26 * representation. This function returns the decoded URL in a string.
27 * The URL to be decoded does not necessarily have to be encoded but
28 * in that case the original string is duplicated.
30 * @param url a string to be decoded.
31 * @param decode_plus_sign if nonzero plus sign is decoded to space
32 * @return new string with the URL decoded or NULL if decoding failed.
33 * Note that the returned string should be explicitly freed when not
36 char *ff_urldecode(const char *url
, int decode_plus_sign
);
39 * Decodes an URL from its percent-encoded form back into normal
40 * representation. This function returns the decoded URL in a string.
41 * The URL to be decoded does not necessarily have to be encoded but
42 * in that case the original string is duplicated.
44 * @param dest the destination buffer.
45 * @param dest_len the maximum available space in the destination buffer.
46 * Must be bigger than FFMIN(strlen(url), url_max_len) to avoid
47 * an AVERROR(EINVAL) result
48 * @param url_max_len the maximum number of chars to read from url
49 * @param decode_plus_sign if nonzero plus sign is decoded to space
50 * @return the number of written bytes to dest excluding the zero terminator,
53 int ff_urldecode_len(char *dest
, size_t dest_len
, const char *url
, size_t url_max_len
, int decode_plus_sign
);
54 #endif /* AVFORMAT_URLDECODE_H */