[MPlayer-dev-eng] [PATCH] use av_strl* functions
Reimar Döffinger
Reimar.Doeffinger at stud.uni-karlsruhe.de
Sun Jun 24 11:10:38 CEST 2007
Hello,
attached patch removes our strlcpy and strlcat and configure checks in
favour of just always using the libavutil functions.
Comments?
Greetings,
Reimar Döffinger
-------------- next part --------------
Index: gui/skin/skin.c
===================================================================
--- gui/skin/skin.c (revision 23621)
+++ gui/skin/skin.c (working copy)
@@ -11,6 +11,7 @@
#include "../mp_msg.h"
#include "../help_mp.h"
#include "mplayer/widgets.h"
+#include "libavutil/avstring.h"
//#define MSGL_DBG2 MSGL_STATUS
@@ -116,7 +117,7 @@
{
CHECKDEFLIST( "window" );
- strlcpy( window_name,strlower( in ),sizeof( window_name ) );
+ av_strlcpy( window_name,strlower( in ),sizeof( window_name ) );
if ( !strncmp( in,"main",4 ) ) { currSection=&skinAppMPlayer->main; currSubItem=&skinAppMPlayer->NumberOfItems; currSubItems=skinAppMPlayer->Items; }
else if ( !strncmp( in,"sub",3 ) ) currSection=&skinAppMPlayer->sub;
else if ( !strncmp( in,"playbar",7 ) ) { currSection=&skinAppMPlayer->bar; currSubItem=&skinAppMPlayer->NumberOfBarItems; currSubItems=skinAppMPlayer->barItems; }
@@ -147,7 +148,7 @@
defList->main.x=x;
defList->main.y=y;
defList->main.type=itBase;
- strlcpy(tmp, path, sizeof( tmp )); strlcat(tmp, fname, sizeof( tmp ));
+ av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp ));
if ( skinBPRead( tmp,&defList->main.Bitmap ) ) return 1;
defList->main.width=defList->main.Bitmap.Width;
defList->main.height=defList->main.Bitmap.Height;
@@ -162,7 +163,7 @@
if ( !strcmp( window_name,"sub" ) )
{
defList->sub.type=itBase;
- strlcpy(tmp, path, sizeof( tmp )); strlcat(tmp, fname, sizeof( tmp ));
+ av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp ));
if ( skinBPRead( tmp,&defList->sub.Bitmap ) ) return 1;
defList->sub.x=x;
defList->sub.y=y;
@@ -179,7 +180,7 @@
{
defList->menuIsPresent=1;
defList->menuBase.type=itBase;
- strlcpy(tmp, path, sizeof( tmp )); strlcat(tmp, fname, sizeof( tmp ));
+ av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp ));
if ( skinBPRead( tmp,&defList->menuBase.Bitmap ) ) return 1;
defList->menuBase.width=defList->menuBase.Bitmap.Width;
defList->menuBase.height=defList->menuBase.Bitmap.Height;
@@ -197,7 +198,7 @@
defList->bar.x=x;
defList->bar.y=y;
defList->bar.type=itBase;
- strlcpy(tmp, path, sizeof( tmp )); strlcat(tmp, fname, sizeof( tmp ));
+ av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp ));
if ( skinBPRead( tmp,&defList->bar.Bitmap ) ) return 1;
defList->bar.width=defList->bar.Bitmap.Width;
defList->bar.height=defList->bar.Bitmap.Height;
@@ -268,7 +269,7 @@
currSubItems[ *currSubItem ].Bitmap.Image=NULL;
if ( strcmp( fname,"NULL" ) )
{
- strlcpy(tmp, path, sizeof( tmp )); strlcat(tmp, fname, sizeof( tmp ));
+ av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp ));
if ( skinBPRead( tmp,&currSubItems[ *currSubItem ].Bitmap ) ) return 1;
}
@@ -289,7 +290,7 @@
cutItem( in,fname,',',0 );
defList->menuSelected.type=itBase;
- strlcpy(tmp, path, sizeof( tmp )); strlcat(tmp, fname, sizeof( tmp ));
+ av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, fname, sizeof( tmp ));
mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"\n[skin] selected: %s\n",fname );
if ( skinBPRead( tmp,&defList->menuSelected.Bitmap ) ) return 1;
defList->menuSelected.width=defList->menuSelected.Bitmap.Width;
@@ -381,14 +382,14 @@
item->Bitmap.Image=NULL;
if ( strcmp( phfname,"NULL" ) )
{
- strlcpy(tmp, path, sizeof( tmp )); strlcat(tmp, phfname, sizeof( tmp ));
+ av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, phfname, sizeof( tmp ));
if ( skinBPRead( tmp,&item->Bitmap ) ) return 1;
}
item->Mask.Image=NULL;
if ( strcmp( pfname,"NULL" ) )
{
- strlcpy(tmp, path, sizeof( tmp )); strlcat(tmp, pfname, sizeof( tmp ));
+ av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, pfname, sizeof( tmp ));
if ( skinBPRead( tmp,&item->Mask ) ) return 1;
}
return 0;
@@ -445,7 +446,7 @@
item->Bitmap.Image=NULL;
if ( strcmp( phfname,"NULL" ) )
{
- strlcpy(tmp, path, sizeof( tmp )); strlcat(tmp, phfname, sizeof( tmp ));
+ av_strlcpy(tmp, path, sizeof( tmp )); av_strlcat(tmp, phfname, sizeof( tmp ));
if ( skinBPRead( tmp,&item->Bitmap ) ) return 1;
}
return 0;
@@ -656,10 +657,10 @@
void setname( char * item1, char * item2 )
{
- strlcpy(fn, item1, sizeof( fn ));
- strlcat(fn, "/", sizeof( fn )); strlcat(fn, item2, sizeof( fn ));
- strlcpy(path, fn, sizeof( path )); strlcat(path, "/", sizeof( path ));
- strlcat(fn, "/skin", sizeof( fn ));
+ av_strlcpy(fn, item1, sizeof( fn ));
+ av_strlcat(fn, "/", sizeof( fn )); av_strlcat(fn, item2, sizeof( fn ));
+ av_strlcpy(path, fn, sizeof( path )); av_strlcat(path, "/", sizeof( path ));
+ av_strlcat(fn, "/skin", sizeof( fn ));
}
int skinRead( char * dname )
Index: gui/mplayer/common.c
===================================================================
--- gui/mplayer/common.c (revision 23621)
+++ gui/mplayer/common.c (working copy)
@@ -25,6 +25,7 @@
#include "../libmpdemux/stheader.h"
#include "../codec-cfg.h"
#include "../access_mpcontext.h"
+#include "../libavutil/avstring.h"
#include "play.h"
@@ -40,23 +41,23 @@
switch ( guiIntfStruct.StreamType )
{
case STREAMTYPE_STREAM:
- strlcpy(tmp, guiIntfStruct.Filename, tmplen);
+ av_strlcpy(tmp, guiIntfStruct.Filename, tmplen);
break;
case STREAMTYPE_FILE:
if ( ( guiIntfStruct.Filename )&&( guiIntfStruct.Filename[0] ) )
{
if ( (p = strrchr(guiIntfStruct.Filename, '/')) )
- strlcpy(tmp, p + 1, tmplen);
+ av_strlcpy(tmp, p + 1, tmplen);
else
- strlcpy(tmp, guiIntfStruct.Filename, tmplen);
+ av_strlcpy(tmp, guiIntfStruct.Filename, tmplen);
if ( tmp[strlen( tmp ) - 4] == '.' ) tmp[strlen( tmp ) - 4]=0;
if ( tmp[strlen( tmp ) - 5] == '.' ) tmp[strlen( tmp ) - 5]=0;
- } else strlcpy( tmp,MSGTR_NoFileLoaded,tmplen );
+ } else av_strlcpy( tmp,MSGTR_NoFileLoaded,tmplen );
break;
#ifdef USE_DVDREAD
case STREAMTYPE_DVD:
if ( guiIntfStruct.DVD.current_chapter ) snprintf(tmp,tmplen,MSGTR_Chapter,guiIntfStruct.DVD.current_chapter );
- else strlcat( tmp,MSGTR_NoChapter,tmplen );
+ else av_strlcat( tmp,MSGTR_NoChapter,tmplen );
break;
#endif
#ifdef HAVE_VCD
@@ -64,7 +65,7 @@
snprintf( tmp,tmplen,MSGTR_VCDTrack,guiIntfStruct.Track );
break;
#endif
- default: strlcpy( tmp,MSGTR_NoMediaOpened,tmplen );
+ default: av_strlcpy( tmp,MSGTR_NoMediaOpened,tmplen );
}
if ( c )
{
@@ -98,75 +99,75 @@
switch ( str[++i] )
{
case 't': snprintf( tmp,sizeof( tmp ),"%02d",guiIntfStruct.Track );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case 'o': TranslateFilename( 0,tmp,sizeof( tmp ) );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case 'f': TranslateFilename( 1,tmp,sizeof( tmp ) );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case 'F': TranslateFilename( 2,tmp,sizeof( tmp ) );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case '6': t=guiIntfStruct.LengthInSec; goto calclengthhhmmss;
case '1': t=guiIntfStruct.TimeSec;
calclengthhhmmss:
snprintf( tmp,sizeof( tmp ),"%02d:%02d:%02d",t/3600,t/60%60,t%60 );
- strlcat( trbuf,tmp,sizeof( trbuf ) );
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) );
break;
case '7': t=guiIntfStruct.LengthInSec; goto calclengthmmmmss;
case '2': t=guiIntfStruct.TimeSec;
calclengthmmmmss:
snprintf( tmp,sizeof( tmp ),"%04d:%02d",t/60,t%60 );
- strlcat( trbuf,tmp,sizeof( trbuf ) );
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) );
break;
case '3': snprintf( tmp,sizeof( tmp ),"%02d",guiIntfStruct.TimeSec / 3600 );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case '4': snprintf( tmp,sizeof( tmp ),"%02d",( ( guiIntfStruct.TimeSec / 60 ) % 60 ) );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case '5': snprintf( tmp,sizeof( tmp ),"%02d",guiIntfStruct.TimeSec % 60 );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
- case '8': snprintf( tmp,sizeof( tmp ),"%01d:%02d:%02d",guiIntfStruct.TimeSec / 3600,( guiIntfStruct.TimeSec / 60 ) % 60,guiIntfStruct.TimeSec % 60 ); strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ case '8': snprintf( tmp,sizeof( tmp ),"%01d:%02d:%02d",guiIntfStruct.TimeSec / 3600,( guiIntfStruct.TimeSec / 60 ) % 60,guiIntfStruct.TimeSec % 60 ); av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case 'v': snprintf( tmp,sizeof( tmp ),"%3.2f%%",guiIntfStruct.Volume );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case 'V': snprintf( tmp,sizeof( tmp ),"%3.1f",guiIntfStruct.Volume );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case 'b': snprintf( tmp,sizeof( tmp ),"%3.2f%%",guiIntfStruct.Balance );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case 'B': snprintf( tmp,sizeof( tmp ),"%3.1f",guiIntfStruct.Balance );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case 'd': snprintf( tmp,sizeof( tmp ),"%d",guiIntfStruct.FrameDrop );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case 'x': snprintf( tmp,sizeof( tmp ),"%d",guiIntfStruct.MovieWidth );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case 'y': snprintf( tmp,sizeof( tmp ),"%d",guiIntfStruct.MovieHeight );
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
case 'C': snprintf( tmp,sizeof( tmp ),"%s", guiIntfStruct.sh_video? ((sh_video_t *)guiIntfStruct.sh_video)->codec->name : "");
- strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
- case 's': if ( guiIntfStruct.Playing == 0 ) strlcat( trbuf,"s",sizeof( trbuf ) ); break;
- case 'l': if ( guiIntfStruct.Playing == 1 ) strlcat( trbuf,"p",sizeof( trbuf ) ); break;
- case 'e': if ( guiIntfStruct.Playing == 2 ) strlcat( trbuf,"e",sizeof( trbuf ) ); break;
+ av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break;
+ case 's': if ( guiIntfStruct.Playing == 0 ) av_strlcat( trbuf,"s",sizeof( trbuf ) ); break;
+ case 'l': if ( guiIntfStruct.Playing == 1 ) av_strlcat( trbuf,"p",sizeof( trbuf ) ); break;
+ case 'e': if ( guiIntfStruct.Playing == 2 ) av_strlcat( trbuf,"e",sizeof( trbuf ) ); break;
case 'a':
- if ( mixer->muted ) { strlcat( trbuf,"n",sizeof( trbuf ) ); break; }
+ if ( mixer->muted ) { av_strlcat( trbuf,"n",sizeof( trbuf ) ); break; }
switch ( guiIntfStruct.AudioType )
{
- case 0: strlcat( trbuf,"n",sizeof( trbuf ) ); break;
- case 1: strlcat( trbuf,"m",sizeof( trbuf ) ); break;
- case 2: strlcat( trbuf,"t",sizeof( trbuf ) ); break;
+ case 0: av_strlcat( trbuf,"n",sizeof( trbuf ) ); break;
+ case 1: av_strlcat( trbuf,"m",sizeof( trbuf ) ); break;
+ case 2: av_strlcat( trbuf,"t",sizeof( trbuf ) ); break;
}
break;
case 'T':
switch ( guiIntfStruct.StreamType )
{
- case STREAMTYPE_FILE: strlcat( trbuf,"f",sizeof( trbuf ) ); break;
+ case STREAMTYPE_FILE: av_strlcat( trbuf,"f",sizeof( trbuf ) ); break;
#ifdef HAVE_VCD
- case STREAMTYPE_VCD: strlcat( trbuf,"v",sizeof( trbuf ) ); break;
+ case STREAMTYPE_VCD: av_strlcat( trbuf,"v",sizeof( trbuf ) ); break;
#endif
- case STREAMTYPE_STREAM: strlcat( trbuf,"u",sizeof( trbuf ) ); break;
+ case STREAMTYPE_STREAM: av_strlcat( trbuf,"u",sizeof( trbuf ) ); break;
#ifdef USE_DVDREAD
- case STREAMTYPE_DVD: strlcat( trbuf,"d",sizeof( trbuf ) ); break;
+ case STREAMTYPE_DVD: av_strlcat( trbuf,"d",sizeof( trbuf ) ); break;
#endif
- default: strlcat( trbuf," ",sizeof( trbuf ) ); break;
+ default: av_strlcat( trbuf," ",sizeof( trbuf ) ); break;
}
break;
- case '$': strlcat( trbuf,"$",sizeof( trbuf ) ); break;
+ case '$': av_strlcat( trbuf,"$",sizeof( trbuf ) ); break;
default: continue;
}
c=strlen( trbuf );
Index: libmpdemux/demux_mkv.c
===================================================================
--- libmpdemux/demux_mkv.c (revision 23621)
+++ libmpdemux/demux_mkv.c (working copy)
@@ -45,6 +45,7 @@
#include "libavutil/lzo.h"
#include "libavutil/intreadwrite.h"
#endif
+#include "libavutil/avstring.h"
static unsigned char sipr_swaps[38][2]={
{0,63},{1,22},{2,44},{3,90},{5,81},{7,31},{8,86},{9,58},{10,36},{12,68},
@@ -3609,7 +3610,7 @@
mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv;
mkv_track_t *track = demux_mkv_find_track_by_num (mkv_d, track_num, MATROSKA_TRACK_SUBTITLE);
if (track && track->language && strcmp(track->language, "und"))
- strlcpy(lang, track->language, maxlen);
+ av_strlcpy(lang, track->language, maxlen);
}
/** \brief Get the language code for an audio track.
@@ -3629,7 +3630,7 @@
mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv;
mkv_track_t *track = demux_mkv_find_track_by_num (mkv_d, track_num, MATROSKA_TRACK_AUDIO);
if (track && track->language && strcmp(track->language, "und"))
- strlcpy(lang, track->language, maxlen);
+ av_strlcpy(lang, track->language, maxlen);
}
Index: libmpdemux/demux_ty.c
===================================================================
--- libmpdemux/demux_ty.c (revision 23621)
+++ libmpdemux/demux_ty.c (working copy)
@@ -44,6 +44,7 @@
#include "parse_es.h"
#include "stheader.h"
#include "sub_cc.h"
+#include "libavutil/avstring.h"
extern void skip_audio_frame( sh_audio_t *sh_audio );
extern int sub_justify;
@@ -201,8 +202,8 @@
error = 1;
break;
}
- strlcpy( name, &header[ 0 ], 100 );
- strlcpy( sizestr, &header[ 124 ], 12 );
+ av_strlcpy( name, &header[ 0 ], 100 );
+ av_strlcpy( sizestr, &header[ 124 ], 12 );
size = ty_octaltodecimal( sizestr );
blocks = size / 512;
Index: libvo/vo_dxr3.c
===================================================================
--- libvo/vo_dxr3.c (revision 23621)
+++ libvo/vo_dxr3.c (working copy)
@@ -148,6 +148,7 @@
#ifdef HAVE_X11
#include "x11_common.h"
#endif
+#include "libavutil/avstring.h"
#define SPU_SUPPORT
@@ -1134,13 +1135,13 @@
int j;
if(!p) {
- strlcpy(fname, getenv("HOME"), sizeof( fname ));
- strlcat(fname,"/.overlay", sizeof( fname ));
+ av_strlcpy(fname, getenv("HOME"), sizeof( fname ));
+ av_strlcat(fname,"/.overlay", sizeof( fname ));
} else
- strlcpy(fname, p, sizeof( fname ));
+ av_strlcpy(fname, p, sizeof( fname ));
sprintf(tmp,"/res_%dx%dx%d",o->xres,o->yres,o->depth);
- strlcat(fname, tmp, sizeof( fname ));
+ av_strlcat(fname, tmp, sizeof( fname ));
if(!(fp=fopen(fname,"r")))
return -1;
@@ -1197,10 +1198,10 @@
int i,j;
if(!p) {
- strlcpy(fname, getenv("HOME"), sizeof( fname ));
- strlcat(fname,"/.overlay", sizeof( fname ));
+ av_strlcpy(fname, getenv("HOME"), sizeof( fname ));
+ av_strlcat(fname,"/.overlay", sizeof( fname ));
} else
- strlcpy(fname, p, sizeof( fname ));
+ av_strlcpy(fname, p, sizeof( fname ));
if(access(fname, W_OK|X_OK|R_OK)) {
if(mkdir(fname,0766))
@@ -1208,7 +1209,7 @@
}
sprintf(tmp,"/res_%dx%dx%d",o->xres,o->yres,o->depth);
- strlcat(fname, tmp, sizeof( fname ));
+ av_strlcat(fname, tmp, sizeof( fname ));
if(!(fp=fopen(fname,"w")))
return -1;
Index: m_option.c
===================================================================
--- m_option.c (revision 23621)
+++ m_option.c (working copy)
@@ -16,6 +16,7 @@
//#include "m_config.h"
#include "mp_msg.h"
#include "stream/url.h"
+#include "libavutil/avstring.h"
// Don't free for 'production' atm
#ifndef MP_DEBUG
@@ -920,7 +921,7 @@
int optlen = strcspn(p, ":=");
/* clear out */
subopt[0] = subparam[0] = 0;
- strlcpy(subopt, p, optlen + 1);
+ av_strlcpy(subopt, p, optlen + 1);
p = &p[optlen];
if (p[0] == '=') {
sscanf_ret = 2;
@@ -928,7 +929,7 @@
if (p[0] == '"') {
p = &p[1];
optlen = strcspn(p, "\"");
- strlcpy(subparam, p, optlen + 1);
+ av_strlcpy(subparam, p, optlen + 1);
p = &p[optlen];
if (p[0] != '"') {
mp_msg(MSGT_CFGPARSER, MSGL_ERR, "Terminating '\"' missing for '%s'\n", subopt);
@@ -943,11 +944,11 @@
return M_OPT_INVALID;
}
p = &p[1];
- strlcpy(subparam, p, optlen + 1);
+ av_strlcpy(subparam, p, optlen + 1);
p = &p[optlen];
} else {
optlen = strcspn(p, ":");
- strlcpy(subparam, p, optlen + 1);
+ av_strlcpy(subparam, p, optlen + 1);
p = &p[optlen];
}
}
Index: stream/tv.c
===================================================================
--- stream/tv.c (revision 23621)
+++ stream/tv.c (working copy)
@@ -29,6 +29,7 @@
#include "libaf/af_format.h"
#include "libmpcodecs/img_format.h"
+#include "libavutil/avstring.h"
#include "tv.h"
@@ -354,7 +355,7 @@
if (!sep) continue; // Wrong syntax, but mplayer should not crash
- strlcpy(tv_channel_current->name, sep + 1,
+ av_strlcpy(tv_channel_current->name, sep + 1,
sizeof(tv_channel_current->name));
sep[0] = '\0';
strncpy(tv_channel_current->number, tmp, 5);
Index: stream/stream_dvb.c
===================================================================
--- stream/stream_dvb.c (revision 23621)
+++ stream/stream_dvb.c (working copy)
@@ -44,6 +44,7 @@
#include "help_mp.h"
#include "m_option.h"
#include "m_struct.h"
+#include "libavutil/avstring.h"
#include "dvbin.h"
@@ -176,7 +177,7 @@
ptr->name = (char*) malloc(k+1);
if(! ptr->name)
continue;
- strlcpy(ptr->name, line, k+1);
+ av_strlcpy(ptr->name, line, k+1);
}
else
continue;
Index: stream/stream_pvr.c
===================================================================
--- stream/stream_pvr.c (revision 23621)
+++ stream/stream_pvr.c (working copy)
@@ -45,6 +45,7 @@
#include "frequencies.h"
#include "libavutil/common.h"
+#include "libavutil/avstring.h"
#define PVR_DEFAULT_DEVICE "/dev/video0"
#define PVR_MAX_CONTROLS 10
@@ -232,12 +233,12 @@
/* transport the channel list data to our extented struct */
stationlist->total = num;
- strlcpy (stationlist->name, chanlists[chantab].name, PVR_STATION_NAME_SIZE);
+ av_strlcpy (stationlist->name, chanlists[chantab].name, PVR_STATION_NAME_SIZE);
for (i = 0; i < chanlists[chantab].count; i++)
{
stationlist->list[i].station[0]= '\0'; /* no station name yet */
- strlcpy (stationlist->list[i].name,
+ av_strlcpy (stationlist->list[i].name,
chanlists[chantab].list[i].name, PVR_STATION_NAME_SIZE);
stationlist->list[i].freq = chanlists[chantab].list[i].freq;
stationlist->list[i].enabled = 1; /* default enabled */
@@ -324,10 +325,10 @@
}
if (station)
- strlcpy (pvr->stationlist.list[i].station,
+ av_strlcpy (pvr->stationlist.list[i].station,
station, PVR_STATION_NAME_SIZE);
else if (channel)
- strlcpy (pvr->stationlist.list[i].station,
+ av_strlcpy (pvr->stationlist.list[i].station,
channel, PVR_STATION_NAME_SIZE);
else
snprintf (pvr->stationlist.list[i].station,
@@ -381,10 +382,10 @@
pvr->stationlist.enabled++;
if (station)
- strlcpy (pvr->stationlist.list[i].station,
+ av_strlcpy (pvr->stationlist.list[i].station,
station, PVR_STATION_NAME_SIZE);
if (channel)
- strlcpy (pvr->stationlist.list[i].name, channel, PVR_STATION_NAME_SIZE);
+ av_strlcpy (pvr->stationlist.list[i].name, channel, PVR_STATION_NAME_SIZE);
else
snprintf (pvr->stationlist.list[i].name,
PVR_STATION_NAME_SIZE, "F %d", freq);
@@ -476,10 +477,10 @@
if (!sep)
continue; /* Wrong syntax, but mplayer should not crash */
- strlcpy (station, sep + 1, PVR_STATION_NAME_SIZE);
+ av_strlcpy (station, sep + 1, PVR_STATION_NAME_SIZE);
sep[0] = '\0';
- strlcpy (channel, tmp, PVR_STATION_NAME_SIZE);
+ av_strlcpy (channel, tmp, PVR_STATION_NAME_SIZE);
while ((sep = strchr (station, '_')))
sep[0] = ' ';
Index: stream/stream_radio.c
===================================================================
--- stream/stream_radio.c (revision 23621)
+++ stream/stream_radio.c (working copy)
@@ -63,6 +63,7 @@
#include "mp_msg.h"
#include "help_mp.h"
#include "stream_radio.h"
+#include "libavutil/avstring.h"
#ifdef USE_RADIO_CAPTURE
#include "audio_in.h"
@@ -207,7 +208,7 @@
char* tmp = *(channels++);
char* sep = strchr(tmp,'-');
if (!sep) continue; // Wrong syntax, but mplayer should not crash
- strlcpy(priv->radio_channel_current->name, sep + 1,sizeof(priv->radio_channel_current->name)-1);
+ av_strlcpy(priv->radio_channel_current->name, sep + 1,sizeof(priv->radio_channel_current->name)-1);
sep[0] = '\0';
Index: stream/stream_cue.c
===================================================================
--- stream/stream_cue.c (revision 23621)
+++ stream/stream_cue.c (working copy)
@@ -18,6 +18,7 @@
#include "help_mp.h"
#include "m_option.h"
#include "m_struct.h"
+#include "libavutil/avstring.h"
#define byte unsigned char
#define SIZERAW 2352
@@ -325,15 +326,15 @@
strcpy(t, "/");
}
- strlcpy(bincue_path,t,sizeof( bincue_path ));
+ av_strlcpy(bincue_path,t,sizeof( bincue_path ));
mp_msg(MSGT_OPEN,MSGL_V,"dirname: %s, cuepath: %s\n", t, bincue_path);
/* no path at all? */
if (strcmp(bincue_path, ".") == 0) {
mp_msg(MSGT_OPEN,MSGL_V,"bincue_path: %s\n", bincue_path);
- strlcpy(cue_filename,in_cue_filename,sizeof( cue_filename ));
+ av_strlcpy(cue_filename,in_cue_filename,sizeof( cue_filename ));
} else {
- strlcpy(cue_filename,in_cue_filename + strlen(bincue_path) + 1,
+ av_strlcpy(cue_filename,in_cue_filename + strlen(bincue_path) + 1,
sizeof( cue_filename ));
}
Index: configure
===================================================================
--- configure (revision 23621)
+++ configure (working copy)
@@ -3389,38 +3397,6 @@
fi
echores "$_strsep"
-echocheck "strlcpy()"
-cat > $TMPC << EOF
-#include <string.h>
-int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
-EOF
-_strlcpy=no
-cc_check && _strlcpy=yes
-if test "$_strlcpy" = yes ; then
- _def_strlcpy='#define HAVE_STRLCPY 1'
- _need_strlcpy=no
-else
- _def_strlcpy='#undef HAVE_STRLCPY'
- _need_strlcpy=yes
-fi
-echores "$_strlcpy"
-
-echocheck "strlcat()"
-cat > $TMPC << EOF
-#include <string.h>
-int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
-EOF
-_strlcat=no
-cc_check && _strlcat=yes
-if test "$_strlcat" = yes ; then
- _def_strlcat='#define HAVE_STRLCAT 1'
- _need_strlcat=no
-else
- _def_strlcat='#undef HAVE_STRLCAT'
- _need_strlcat=yes
-fi
-echores "$_strlcat"
-
echocheck "fseeko()"
cat > $TMPC << EOF
#include <stdio.h>
@@ -7507,8 +7517,6 @@
NEED_SCANDIR = $_need_scandir
NEED_SETENV = $_need_setenv
NEED_SHMEM = $_need_shmem
-NEED_STRLCAT = $_need_strlcat
-NEED_STRLCPY = $_need_strlcpy
NEED_STRSEP = $_need_strsep
NEED_SWAB = $_need_swab
NEED_VSSCANF = $_need_vsscanf
@@ -7887,18 +7895,6 @@
/* Define this if your system has strsep */
$_def_strsep
-/* Define this if your system has strlcpy */
-$_def_strlcpy
-#ifndef HAVE_STRLCPY
-unsigned int strlcpy (char *dest, const char *src, unsigned int size);
-#endif
-
-/* Define this if your system has strlcat */
-$_def_strlcat
-#ifndef HAVE_STRLCAT
-unsigned int strlcat (char *dest, const char *src, unsigned int size);
-#endif
-
/* Define this if your system has fseeko */
$_def_fseeko
#ifndef HAVE_FSEEKO
Index: osdep/Makefile
===================================================================
--- osdep/Makefile (revision 23621)
+++ osdep/Makefile (working copy)
@@ -12,8 +12,6 @@
SRCS_COMMON-$(NEED_SCANDIR) += scandir.c
SRCS_COMMON-$(NEED_SETENV) += setenv.c
SRCS_COMMON-$(NEED_SHMEM) += shmem.c
-SRCS_COMMON-$(NEED_STRLCAT) += strlcat.c
-SRCS_COMMON-$(NEED_STRLCPY) += strlcpy.c
SRCS_COMMON-$(NEED_STRSEP) += strsep.c
SRCS_COMMON-$(NEED_SWAB) += swab.c
SRCS_COMMON-$(NEED_VSSCANF) += vsscanf.c
Index: osdep/strlcat.c
===================================================================
--- osdep/strlcat.c (revision 23621)
+++ osdep/strlcat.c (working copy)
@@ -1,15 +0,0 @@
-/* strlcat implementation for systems that do not have it in libc
- * Time-stamp: <2004-03-14 njk>
- * (C) 2003-2004 Nicholas J. Kain <njk at aerifal.cx>
- */
-
-#include "config.h"
-
-unsigned int strlcat (char *dest, const char *src, unsigned int size)
-{
- register char *d = dest;
-
- for (; size > 0 && *d != '\0'; size--, d++);
- return (d - dest) + strlcpy(d, src, size);
-}
-
Index: osdep/strlcpy.c
===================================================================
--- osdep/strlcpy.c (revision 23621)
+++ osdep/strlcpy.c (working copy)
@@ -1,22 +0,0 @@
-/* strlcpy implementation for systems that do not have it in libc
- * Time-stamp: <2004-03-14 njk>
- * (C) 2003-2004 Nicholas J. Kain <njk at aerifal.cx>
- */
-
-#include "config.h"
-
-unsigned int strlcpy (char *dest, const char *src, unsigned int size)
-{
- register unsigned int i = 0;
-
- if (size > 0) {
- size--;
- for (i=0; size > 0 && src[i] != '\0'; ++i, size--)
- dest[i] = src[i];
-
- dest[i] = '\0';
- }
- while (src[i++]);
-
- return i;
-}
More information about the MPlayer-dev-eng
mailing list