You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	lavu: Add av_strnstr()
This is a length limited version of strstr() Signed-off-by: Vladimir Pantelic <vladoman@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This commit is contained in:
		
				
					committed by
					
						 Luca Barbato
						Luca Barbato
					
				
			
			
				
	
			
			
			
						parent
						
							a84fb6e06f
						
					
				
				
					commit
					b85a5e87af
				
			| @@ -1,6 +1,10 @@ | ||||
| Entries are sorted chronologically from oldest to youngest within each release, | ||||
| releases are sorted from youngest to oldest. | ||||
|  | ||||
| version 10: | ||||
| - av_strnstr | ||||
|  | ||||
|  | ||||
| version 9: | ||||
| - av_basename and av_dirname | ||||
| - adobe and limelight publisher authentication in RTMP | ||||
|   | ||||
| @@ -13,6 +13,9 @@ libavutil:     2012-10-22 | ||||
|  | ||||
| API changes, most recent first: | ||||
|  | ||||
| 2013-01-xx - xxxxxxx - lavu 52.6.0 - avstring.h | ||||
|   Add av_strnstr() | ||||
|  | ||||
| 2013-01-xx - xxxxxxx - lavu 52.5.0 - hmac.h | ||||
|   Add AVHMAC. | ||||
|  | ||||
|   | ||||
| @@ -65,6 +65,20 @@ char *av_stristr(const char *s1, const char *s2) | ||||
|     return NULL; | ||||
| } | ||||
|  | ||||
| char *av_strnstr(const char *haystack, const char *needle, size_t hay_length) | ||||
| { | ||||
|     size_t needle_len = strlen(needle); | ||||
|     if (!needle_len) | ||||
|         return haystack; | ||||
|     while (hay_length >= needle_len) { | ||||
|         hay_length--; | ||||
|         if (!memcmp(haystack, needle, needle_len)) | ||||
|             return haystack; | ||||
|         haystack++; | ||||
|     } | ||||
|     return NULL; | ||||
| } | ||||
|  | ||||
| size_t av_strlcpy(char *dst, const char *src, size_t size) | ||||
| { | ||||
|     size_t len = 0; | ||||
|   | ||||
| @@ -66,6 +66,21 @@ int av_stristart(const char *str, const char *pfx, const char **ptr); | ||||
|  */ | ||||
| char *av_stristr(const char *haystack, const char *needle); | ||||
|  | ||||
| /** | ||||
|  * Locate the first occurrence of the string needle in the string haystack | ||||
|  * where not more than hay_length characters are searched. A zero-length | ||||
|  * string needle is considered to match at the start of haystack. | ||||
|  * | ||||
|  * This function is a length-limited version of the standard strstr(). | ||||
|  * | ||||
|  * @param haystack   string to search in | ||||
|  * @param needle     string to search for | ||||
|  * @param hay_length length of string to search in | ||||
|  * @return           pointer to the located match within haystack | ||||
|  *                   or a null pointer if no match | ||||
|  */ | ||||
| char *av_strnstr(const char *haystack, const char *needle, size_t hay_length); | ||||
|  | ||||
| /** | ||||
|  * Copy the string src to dst, but no more than size - 1 bytes, and | ||||
|  * null-terminate dst. | ||||
|   | ||||
| @@ -37,7 +37,7 @@ | ||||
|  */ | ||||
|  | ||||
| #define LIBAVUTIL_VERSION_MAJOR 52 | ||||
| #define LIBAVUTIL_VERSION_MINOR  5 | ||||
| #define LIBAVUTIL_VERSION_MINOR  6 | ||||
| #define LIBAVUTIL_VERSION_MICRO  0 | ||||
|  | ||||
| #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user