Browse Source

Merge commit '8ddc32629a6d6be77256694c9e322dde134609f3'

* commit '8ddc32629a6d6be77256694c9e322dde134609f3':
  mem: add av_strndup() for duplicating substrings

Conflicts:
	libavutil/mem.c
	libavutil/mem.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.4
Michael Niedermayer 11 years ago
parent
commit
c8571c61ec
4 changed files with 34 additions and 1 deletions
  1. +3
    -0
      doc/APIchanges
  2. +20
    -0
      libavutil/mem.c
  3. +10
    -0
      libavutil/mem.h
  4. +1
    -1
      libavutil/version.h

+ 3
- 0
doc/APIchanges View File

@@ -15,6 +15,9 @@ libavutil: 2014-08-09

API changes, most recent first:

2014-08-xx - xxxxxxx - lavu 54.03.0 - mem.h
Add av_strndup().

2014-xx-xx - xxxxxxx - lavu 54.02.0 - opt.h
Add av_opt_get_dict_val/set_dict_val with AV_OPT_TYPE_DICT to support
dictionary types being set as options.


+ 20
- 0
libavutil/mem.c View File

@@ -267,6 +267,26 @@ char *av_strdup(const char *s)
return ptr;
}

char *av_strndup(const char *s, size_t len)
{
char *ret = NULL, *end;

if (!s)
return NULL;

end = memchr(s, 0, len);
if (end)
len = end - s;

ret = av_realloc(NULL, len + 1);
if (!ret)
return NULL;

memcpy(ret, s, len);
ret[len] = 0;
return ret;
}

void *av_memdup(const void *p, size_t size)
{
void *ptr = NULL;


+ 10
- 0
libavutil/mem.h View File

@@ -240,6 +240,16 @@ av_alloc_size(1, 2) static inline void *av_mallocz_array(size_t nmemb, size_t si
*/
char *av_strdup(const char *s) av_malloc_attrib;

/**
* Duplicate a substring of the string s.
* @param s string to be duplicated
* @param len the maximum length of the resulting string (not counting the
* terminating byte).
* @return Pointer to a newly-allocated string containing a
* copy of s or NULL if the string cannot be allocated.
*/
char *av_strndup(const char *s, size_t len) av_malloc_attrib;

/**
* Duplicate the buffer p.
* @param p buffer to be duplicated


+ 1
- 1
libavutil/version.h View File

@@ -56,7 +56,7 @@
*/

#define LIBAVUTIL_VERSION_MAJOR 54
#define LIBAVUTIL_VERSION_MINOR 2
#define LIBAVUTIL_VERSION_MINOR 3
#define LIBAVUTIL_VERSION_MICRO 100

#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \


Loading…
Cancel
Save