avformat/urldecode: add ff_urldecode_len function

This will be used later to decode partial strings.

Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
Marton Balint
2025-08-26 22:57:40 +02:00
parent 8cb1ff78ac
commit 6f17053e6c
2 changed files with 36 additions and 0 deletions

View File

@@ -28,6 +28,8 @@
#include <string.h>
#include "libavutil/error.h"
#include "libavutil/macros.h"
#include "libavutil/mem.h"
#include "libavutil/avstring.h"
#include "urldecode.h"
@@ -93,3 +95,19 @@ char *ff_urldecode(const char *url, int decode_plus_sign)
return dest;
}
int ff_urldecode_len(char *dest, size_t dest_len, const char *url, size_t url_max_len, int decode_plus_sign)
{
size_t written_bytes;
size_t url_len = strlen(url);
url_len = FFMIN(url_len, url_max_len);
if (dest_len <= url_len)
return AVERROR(EINVAL);
written_bytes = urldecode(dest, url, url_len, decode_plus_sign);
dest[written_bytes] = '\0';
return written_bytes;
}