summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/cutils.c13
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. */