diff options
-rw-r--r-- | libavformat/cutils.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/libavformat/cutils.c b/libavformat/cutils.c index bde1c1d39a..55257a5a01 100644 --- a/libavformat/cutils.c +++ b/libavformat/cutils.c @@ -75,19 +75,12 @@ int stristart(const char *str, const char *val, const char **ptr) */ void pstrcpy(char *buf, int buf_size, const char *str) { - int c; - char *q = buf; - if (buf_size <= 0) return; - for(;;) { - c = *str++; - if (c == 0 || q >= buf + buf_size - 1) - break; - *q++ = c; - } - *q = '\0'; + while (buf_size-- > 1 && *str) + *buf++ = *str++; + *buf = 0; } /* strcat and truncate. */ |