replace the uses of old string functions that Reimar missed
authorMåns Rullgård <mans@mansr.com>
Sun, 24 Jun 2007 11:27:12 +0000 (11:27 +0000)
committerMåns Rullgård <mans@mansr.com>
Sun, 24 Jun 2007 11:27:12 +0000 (11:27 +0000)
Originally committed as revision 9406 to svn://svn.ffmpeg.org/ffmpeg/trunk

cmdutils.c
ffmpeg.c
ffplay.c
ffserver.c
libavformat/file.c
libavformat/http.c
libavformat/rtp_h264.c
libavformat/rtpproto.c
libavformat/rtsp.c

index 171574c..1557aaa 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "avformat.h"
 #include "cmdutils.h"
+#include "avstring.h"
 
 #undef exit
 
@@ -37,10 +38,10 @@ void show_help_options(const OptionDef *options, const char *msg, int mask, int
                 printf("%s", msg);
                 first = 0;
             }
-            pstrcpy(buf, sizeof(buf), po->name);
+            av_strlcpy(buf, po->name, sizeof(buf));
             if (po->flags & HAS_ARG) {
-                pstrcat(buf, sizeof(buf), " ");
-                pstrcat(buf, sizeof(buf), po->argname);
+                av_strlcat(buf, " ", sizeof(buf));
+                av_strlcat(buf, po->argname, sizeof(buf));
             }
             printf("-%-17s  %s\n", buf, po->help);
         }
index 09acf8a..e1343ed 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -26,6 +26,7 @@
 #include "framehook.h"
 #include "opt.h"
 #include "fifo.h"
+#include "avstring.h"
 
 #ifdef __MINGW32__
 #include <conio.h>
@@ -2908,7 +2909,7 @@ static void new_audio_stream(AVFormatContext *oc)
     audio_enc->sample_rate = audio_sample_rate;
     audio_enc->time_base= (AVRational){1, audio_sample_rate};
     if (audio_language) {
-        pstrcpy(st->language, sizeof(st->language), audio_language);
+        av_strlcpy(st->language, audio_language, sizeof(st->language));
         av_free(audio_language);
         audio_language = NULL;
     }
@@ -2954,7 +2955,7 @@ static void opt_new_subtitle_stream(void)
     }
 
     if (subtitle_language) {
-        pstrcpy(st->language, sizeof(st->language), subtitle_language);
+        av_strlcpy(st->language, subtitle_language, sizeof(st->language));
         av_free(subtitle_language);
         subtitle_language = NULL;
     }
@@ -3006,10 +3007,10 @@ static void opt_output_file(const char *filename)
     }
 
     oc->oformat = file_oformat;
-    pstrcpy(oc->filename, sizeof(oc->filename), filename);
+    av_strlcpy(oc->filename, filename, sizeof(oc->filename));
 
     if (!strcmp(file_oformat->name, "ffm") &&
-        strstart(filename, "http:", NULL)) {
+        av_strstart(filename, "http:", NULL)) {
         /* special case for files sent to ffserver: we get the stream
            parameters from ffserver */
         if (read_ffserver_streams(oc, filename) < 0) {
@@ -3049,15 +3050,15 @@ static void opt_output_file(const char *filename)
         oc->timestamp = rec_timestamp;
 
         if (str_title)
-            pstrcpy(oc->title, sizeof(oc->title), str_title);
+            av_strlcpy(oc->title, str_title, sizeof(oc->title));
         if (str_author)
-            pstrcpy(oc->author, sizeof(oc->author), str_author);
+            av_strlcpy(oc->author, str_author, sizeof(oc->author));
         if (str_copyright)
-            pstrcpy(oc->copyright, sizeof(oc->copyright), str_copyright);
+            av_strlcpy(oc->copyright, str_copyright, sizeof(oc->copyright));
         if (str_comment)
-            pstrcpy(oc->comment, sizeof(oc->comment), str_comment);
+            av_strlcpy(oc->comment, str_comment, sizeof(oc->comment));
         if (str_album)
-            pstrcpy(oc->album, sizeof(oc->album), str_album);
+            av_strlcpy(oc->album, str_album, sizeof(oc->album));
     }
 
     output_files[nb_output_files++] = oc;
@@ -3074,7 +3075,7 @@ static void opt_output_file(const char *filename)
         /* test if it already exists to avoid loosing precious files */
         if (!file_overwrite &&
             (strchr(filename, ':') == NULL ||
-             strstart(filename, "file:", NULL))) {
+             av_strstart(filename, "file:", NULL))) {
             if (url_exist(filename)) {
                 int c;
 
index 574ef26..bc53a8c 100644 (file)
--- a/ffplay.c
+++ b/ffplay.c
@@ -21,6 +21,7 @@
 
 #include "avformat.h"
 #include "swscale.h"
+#include "avstring.h"
 
 #include "version.h"
 #include "cmdutils.h"
@@ -2109,7 +2110,7 @@ static VideoState *stream_open(const char *filename, AVInputFormat *iformat)
     is = av_mallocz(sizeof(VideoState));
     if (!is)
         return NULL;
-    pstrcpy(is->filename, sizeof(is->filename), filename);
+    av_strlcpy(is->filename, filename, sizeof(is->filename));
     is->iformat = iformat;
     is->ytop = 0;
     is->xleft = 0;
index 98e7e78..82cbc66 100644 (file)
@@ -42,6 +42,7 @@
 #include "version.h"
 #include "ffserver.h"
 #include "random.h"
+#include "avstring.h"
 
 #undef exit
 
@@ -390,7 +391,7 @@ static void start_children(FFStream *feed)
                         close(i);
                 }
 
-                pstrcpy(pathname, sizeof(pathname), my_program_name);
+                av_strlcpy(pathname, my_program_name, sizeof(pathname));
 
                 slash = strrchr(pathname, '/');
                 if (!slash) {
@@ -1144,17 +1145,17 @@ static void compute_real_filename(char *filename, int max_size)
     FFStream *stream;
 
     /* compute filename by matching without the file extensions */
-    pstrcpy(file1, sizeof(file1), filename);
+    av_strlcpy(file1, filename, sizeof(file1));
     p = strrchr(file1, '.');
     if (p)
         *p = '\0';
     for(stream = first_stream; stream != NULL; stream = stream->next) {
-        pstrcpy(file2, sizeof(file2), stream->filename);
+        av_strlcpy(file2, stream->filename, sizeof(file2));
         p = strrchr(file2, '.');
         if (p)
             *p = '\0';
         if (!strcmp(file1, file2)) {
-            pstrcpy(filename, max_size, stream->filename);
+            av_strlcpy(filename, stream->filename, max_size);
             break;
         }
     }
@@ -1187,7 +1188,7 @@ static int http_parse_request(HTTPContext *c)
 
     p = c->buffer;
     get_word(cmd, sizeof(cmd), (const char **)&p);
-    pstrcpy(c->method, sizeof(c->method), cmd);
+    av_strlcpy(c->method, cmd, sizeof(c->method));
 
     if (!strcmp(cmd, "GET"))
         c->post = 0;
@@ -1197,13 +1198,13 @@ static int http_parse_request(HTTPContext *c)
         return -1;
 
     get_word(url, sizeof(url), (const char **)&p);
-    pstrcpy(c->url, sizeof(c->url), url);
+    av_strlcpy(c->url, url, sizeof(c->url));
 
     get_word(protocol, sizeof(protocol), (const char **)&p);
     if (strcmp(protocol, "HTTP/1.0") && strcmp(protocol, "HTTP/1.1"))
         return -1;
 
-    pstrcpy(c->protocol, sizeof(c->protocol), protocol);
+    av_strlcpy(c->protocol, protocol, sizeof(c->protocol));
 
     if (ffserver_debug)
         http_log("New connection: %s %s\n", cmd, url);
@@ -1211,13 +1212,13 @@ static int http_parse_request(HTTPContext *c)
     /* find the filename and the optional info string in the request */
     p = strchr(url, '?');
     if (p) {
-        pstrcpy(info, sizeof(info), p);
+        av_strlcpy(info, p, sizeof(info));
         *p = '\0';
     } else {
         info[0] = '\0';
     }
 
-    pstrcpy(filename, sizeof(filename)-1, url + ((*url == '/') ? 1 : 0));
+    av_strlcpy(filename, url + ((*url == '/') ? 1 : 0), sizeof(filename)-1);
 
     for (p = c->buffer; *p && *p != '\r' && *p != '\n'; ) {
         if (strncasecmp(p, "User-Agent:", 11) == 0) {
@@ -1254,7 +1255,7 @@ static int http_parse_request(HTTPContext *c)
 
     // "redirect" / request to index.html
     if (!strlen(filename))
-        pstrcpy(filename, sizeof(filename) - 1, "index.html");
+        av_strlcpy(filename, "index.html", sizeof(filename) - 1);
 
     stream = first_stream;
     while (stream != NULL) {
@@ -1392,7 +1393,7 @@ static int http_parse_request(HTTPContext *c)
                         {
                             char hostname[256], *p;
                             /* extract only hostname */
-                            pstrcpy(hostname, sizeof(hostname), hostbuf);
+                            av_strlcpy(hostname, hostbuf, sizeof(hostname));
                             p = strrchr(hostname, ':');
                             if (p)
                                 *p = '\0';
@@ -1634,7 +1635,7 @@ static void compute_stats(HTTPContext *c)
         char *eosf;
 
         if (stream->feed != stream) {
-            pstrcpy(sfilename, sizeof(sfilename) - 10, stream->filename);
+            av_strlcpy(sfilename, stream->filename, sizeof(sfilename) - 10);
             eosf = sfilename + strlen(sfilename);
             if (eosf - sfilename >= 4) {
                 if (strcmp(eosf - 4, ".asf") == 0) {
@@ -1998,14 +1999,14 @@ static int http_prepare_data(HTTPContext *c)
     switch(c->state) {
     case HTTPSTATE_SEND_DATA_HEADER:
         memset(&c->fmt_ctx, 0, sizeof(c->fmt_ctx));
-        pstrcpy(c->fmt_ctx.author, sizeof(c->fmt_ctx.author),
-                c->stream->author);
-        pstrcpy(c->fmt_ctx.comment, sizeof(c->fmt_ctx.comment),
-                c->stream->comment);
-        pstrcpy(c->fmt_ctx.copyright, sizeof(c->fmt_ctx.copyright),
-                c->stream->copyright);
-        pstrcpy(c->fmt_ctx.title, sizeof(c->fmt_ctx.title),
-                c->stream->title);
+        av_strlcpy(c->fmt_ctx.author, c->stream->author,
+                   sizeof(c->fmt_ctx.author));
+        av_strlcpy(c->fmt_ctx.comment, c->stream->comment,
+                   sizeof(c->fmt_ctx.comment));
+        av_strlcpy(c->fmt_ctx.copyright, c->stream->copyright,
+                   sizeof(c->fmt_ctx.copyright));
+        av_strlcpy(c->fmt_ctx.title, c->stream->title,
+                   sizeof(c->fmt_ctx.title));
 
         /* open output stream by using specified codecs */
         c->fmt_ctx.oformat = c->stream->fmt;
@@ -2586,9 +2587,9 @@ static int rtsp_parse_request(HTTPContext *c)
     get_word(url, sizeof(url), &p);
     get_word(protocol, sizeof(protocol), &p);
 
-    pstrcpy(c->method, sizeof(c->method), cmd);
-    pstrcpy(c->url, sizeof(c->url), url);
-    pstrcpy(c->protocol, sizeof(c->protocol), protocol);
+    av_strlcpy(c->method, cmd, sizeof(c->method));
+    av_strlcpy(c->url, url, sizeof(c->url));
+    av_strlcpy(c->protocol, protocol, sizeof(c->protocol));
 
     c->pb = &pb1;
     if (url_open_dyn_buf(c->pb) < 0) {
@@ -3073,7 +3074,7 @@ static void rtsp_cmd_teardown(HTTPContext *c, const char *url, RTSPHeader *h)
         return;
     }
 
-    pstrcpy(session_id, sizeof(session_id), rtp_c->session_id);
+    av_strlcpy(session_id, rtp_c->session_id, sizeof(session_id));
 
     /* abort the session */
     close_connection(rtp_c);
@@ -3115,7 +3116,7 @@ static HTTPContext *rtp_new_connection(struct sockaddr_in *from_addr,
         goto fail;
     nb_connections++;
     c->stream = stream;
-    pstrcpy(c->session_id, sizeof(c->session_id), session_id);
+    av_strlcpy(c->session_id, session_id, sizeof(c->session_id));
     c->state = HTTPSTATE_READY;
     c->is_packetized = 1;
     c->rtp_protocol = rtp_protocol;
@@ -3135,8 +3136,8 @@ static HTTPContext *rtp_new_connection(struct sockaddr_in *from_addr,
         proto_str = "???";
         break;
     }
-    pstrcpy(c->protocol, sizeof(c->protocol), "RTP/");
-    pstrcat(c->protocol, sizeof(c->protocol), proto_str);
+    av_strlcpy(c->protocol, "RTP/", sizeof(c->protocol));
+    av_strlcat(c->protocol, proto_str, sizeof(c->protocol));
 
     current_bandwidth += stream->bandwidth;
 
index 3caf80a..7acf446 100644 (file)
@@ -19,6 +19,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 #include "avformat.h"
+#include "avstring.h"
 #include <fcntl.h>
 #include <unistd.h>
 #include <sys/time.h>
@@ -31,7 +32,7 @@ static int file_open(URLContext *h, const char *filename, int flags)
     int access;
     int fd;
 
-    strstart(filename, "file:", &filename);
+    av_strstart(filename, "file:", &filename);
 
     if (flags & URL_RDWR) {
         access = O_CREAT | O_TRUNC | O_RDWR;
index 6acf094..0d9591e 100644 (file)
@@ -63,7 +63,7 @@ static int http_open_cnx(URLContext *h)
 
     proxy_path = getenv("http_proxy");
     use_proxy = (proxy_path != NULL) && !getenv("no_proxy") &&
-        strstart(proxy_path, "http://", NULL);
+        av_strstart(proxy_path, "http://", NULL);
 
     /* fill the dest addr */
  redo:
@@ -126,7 +126,7 @@ static int http_open(URLContext *h, const char *uri, int flags)
     h->priv_data = s;
     s->filesize = -1;
     s->off = 0;
-    pstrcpy (s->location, URL_SIZE, uri);
+    av_strlcpy(s->location, uri, URL_SIZE);
 
     ret = http_open_cnx(h);
     if (ret != 0)
index 564424d..0b88530 100644 (file)
@@ -47,6 +47,7 @@
 #include "rtp_internal.h"
 #include "rtp_h264.h"
 #include "base64.h"
+#include "avstring.h"
 
 /**
     RTP/H264 specific private data.
@@ -357,7 +358,7 @@ static int parse_h264_sdp_line(AVStream * stream, void *data,
 
     assert(h264_data->cookie == MAGIC_COOKIE);
 
-    if (strstart(p, "framesize:", &p)) {
+    if (av_strstart(p, "framesize:", &p)) {
         char buf1[50];
         char *dst = buf1;
 
@@ -375,7 +376,7 @@ static int parse_h264_sdp_line(AVStream * stream, void *data,
         codec->width = atoi(buf1);
         codec->height = atoi(p + 1); // skip the -
         codec->pix_fmt = PIX_FMT_YUV420P;
-    } else if (strstart(p, "fmtp:", &p)) {
+    } else if (av_strstart(p, "fmtp:", &p)) {
         char attr[256];
         char value[4096];
 
@@ -390,7 +391,7 @@ static int parse_h264_sdp_line(AVStream * stream, void *data,
             /* grab the codec extra_data from the config parameter of the fmtp line */
             sdp_parse_fmtp_config_h264(stream, h264_data, attr, value);
         }
-    } else if (strstart(p, "cliprect:", &p)) {
+    } else if (av_strstart(p, "cliprect:", &p)) {
         // could use this if we wanted.
     }
 
index 73f07c6..f56b63f 100644 (file)
@@ -19,6 +19,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 #include "avformat.h"
+#include "avstring.h"
 
 #include <unistd.h>
 #include <stdarg.h>
@@ -72,11 +73,11 @@ static void url_add_option(char *buf, int buf_size, const char *fmt, ...)
 
     va_start(ap, fmt);
     if (strchr(buf, '?'))
-        pstrcat(buf, buf_size, "&");
+        av_strlcat(buf, "&", buf_size);
     else
-        pstrcat(buf, buf_size, "?");
+        av_strlcat(buf, "?", buf_size);
     vsnprintf(buf1, sizeof(buf1), fmt, ap);
-    pstrcat(buf, buf_size, buf1);
+    av_strlcat(buf, buf1, buf_size);
     va_end(ap);
 }
 
index 05349ab..3a3ffbd 100644 (file)
@@ -80,7 +80,7 @@ int rtsp_default_protocols = (1 << RTSP_PROTOCOL_RTP_UDP);
 
 static int rtsp_probe(AVProbeData *p)
 {
-    if (strstart(p->filename, "rtsp:", NULL))
+    if (av_strstart(p->filename, "rtsp:", NULL))
         return AVPROBE_SCORE_MAX;
     return 0;
 }
@@ -338,7 +338,7 @@ static void rtsp_parse_range_npt(const char *p, int64_t *start, int64_t *end)
     char buf[256];
 
     skip_spaces(&p);
-    if (!stristart(p, "npt=", &p))
+    if (!av_stristart(p, "npt=", &p))
         return;
 
     *start = AV_NOPTS_VALUE;
@@ -460,7 +460,7 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
         av_strlcpy(rtsp_st->control_url, s->filename, sizeof(rtsp_st->control_url));
         break;
     case 'a':
-        if (strstart(p, "control:", &p) && s->nb_streams > 0) {
+        if (av_strstart(p, "control:", &p) && s->nb_streams > 0) {
             char proto[32];
             /* get the control url */
             st = s->streams[s->nb_streams - 1];
@@ -475,7 +475,7 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
             } else {
                 av_strlcpy(rtsp_st->control_url, p,   sizeof(rtsp_st->control_url));
             }
-        } else if (strstart(p, "rtpmap:", &p)) {
+        } else if (av_strstart(p, "rtpmap:", &p)) {
             /* NOTE: rtpmap is only supported AFTER the 'm=' tag */
             get_word(buf1, sizeof(buf1), &p);
             payload_type = atoi(buf1);
@@ -486,7 +486,7 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
                     sdp_parse_rtpmap(st->codec, rtsp_st, payload_type, p);
                 }
             }
-        } else if (strstart(p, "fmtp:", &p)) {
+        } else if (av_strstart(p, "fmtp:", &p)) {
             /* NOTE: fmtp is only supported AFTER the 'a=rtpmap:xxx' tag */
             get_word(buf1, sizeof(buf1), &p);
             payload_type = atoi(buf1);
@@ -503,7 +503,7 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
                     }
                 }
             }
-        } else if(strstart(p, "framesize:", &p)) {
+        } else if(av_strstart(p, "framesize:", &p)) {
             // let dynamic protocol handlers have a stab at the line.
             get_word(buf1, sizeof(buf1), &p);
             payload_type = atoi(buf1);
@@ -516,7 +516,7 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
                     }
                 }
             }
-        } else if(strstart(p, "range:", &p)) {
+        } else if(av_strstart(p, "range:", &p)) {
             int64_t start, end;
 
             // this is so that seeking on a streamed file can work.
@@ -683,15 +683,15 @@ void rtsp_parse_line(RTSPHeader *reply, const char *buf)
 
     /* NOTE: we do case independent match for broken servers */
     p = buf;
-    if (stristart(p, "Session:", &p)) {
+    if (av_stristart(p, "Session:", &p)) {
         get_word_sep(reply->session_id, sizeof(reply->session_id), ";", &p);
-    } else if (stristart(p, "Content-Length:", &p)) {
+    } else if (av_stristart(p, "Content-Length:", &p)) {
         reply->content_length = strtol(p, NULL, 10);
-    } else if (stristart(p, "Transport:", &p)) {
+    } else if (av_stristart(p, "Transport:", &p)) {
         rtsp_parse_transport(reply, p);
-    } else if (stristart(p, "CSeq:", &p)) {
+    } else if (av_stristart(p, "CSeq:", &p)) {
         reply->seq = strtol(p, NULL, 10);
-    } else if (stristart(p, "Range:", &p)) {
+    } else if (av_stristart(p, "Range:", &p)) {
         rtsp_parse_range_npt(p, &reply->range_start, &reply->range_end);
     }
 }
@@ -1327,7 +1327,7 @@ static int sdp_probe(AVProbeData *p1)
 
     /* we look for a line beginning "c=IN IP4" */
     while (p < p_end && *p != '\0') {
-        if (p + sizeof("c=IN IP4") - 1 < p_end && strstart(p, "c=IN IP4", NULL))
+        if (p + sizeof("c=IN IP4") - 1 < p_end && av_strstart(p, "c=IN IP4", NULL))
             return AVPROBE_SCORE_MAX / 2;
 
         while(p < p_end - 1 && *p != '\n') p++;
@@ -1432,8 +1432,8 @@ static int redir_probe(AVProbeData *pd)
     p = pd->buf;
     while (redir_isspace(*p))
         p++;
-    if (strstart(p, "http://", NULL) ||
-        strstart(p, "rtsp://", NULL))
+    if (av_strstart(p, "http://", NULL) ||
+        av_strstart(p, "rtsp://", NULL))
         return AVPROBE_SCORE_MAX;
     return 0;
 }