summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-07-05 22:01:07 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-07-05 22:01:07 +0000
commit4c4a1070febe5a140cac0357267af338b9852a7e (patch)
treed7ed87a85da0733f33ea47c25797f58c25e5e9fc
parentb3d59ea908ce87b3dc50bb9ba0ac81edd4765797 (diff)
downloadmpv-4c4a1070febe5a140cac0357267af338b9852a7e.tar.bz2
mpv-4c4a1070febe5a140cac0357267af338b9852a7e.tar.xz
Avoid code duplication and ugly config.h hack by using av_strlcat/av_strlcpy
instead of plain strlcat/strlcpy git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23723 b3059339-0415-0410-9bf9-f77b7e298cf2
-rwxr-xr-xconfigure46
-rw-r--r--gui/mplayer/common.c75
-rw-r--r--gui/skin/font.c9
-rw-r--r--gui/skin/skin.c29
-rw-r--r--libmpdemux/demux_mkv.c5
-rw-r--r--libmpdemux/demux_ty.c5
-rw-r--r--libvo/vo_dxr3.c17
-rw-r--r--m_option.c9
-rw-r--r--osdep/Makefile2
-rw-r--r--osdep/strlcat.c15
-rw-r--r--osdep/strlcpy.c22
-rw-r--r--stream/stream_cue.c7
-rw-r--r--stream/stream_dvb.c3
-rw-r--r--stream/stream_pvr.c17
-rw-r--r--stream/stream_radio.c3
-rw-r--r--stream/tv.c3
16 files changed, 97 insertions, 170 deletions
diff --git a/configure b/configure
index cb917f12ab..9ac124967c 100755
--- a/configure
+++ b/configure
@@ -3394,38 +3394,6 @@ else
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>
@@ -7499,8 +7467,6 @@ NEED_GLOB = $_need_glob
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
@@ -7868,18 +7834,6 @@ $_def_scandir
/* 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
diff --git a/gui/mplayer/common.c b/gui/mplayer/common.c
index 789163dbc0..a3a794944d 100644
--- a/gui/mplayer/common.c
+++ b/gui/mplayer/common.c
@@ -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 @@ inline void TranslateFilename( int c,char * tmp,size_t tmplen )
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 @@ inline void TranslateFilename( int c,char * tmp,size_t tmplen )
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 @@ char * Translate( char * str )
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 );
diff --git a/gui/skin/font.c b/gui/skin/font.c
index 3860079a98..90210ced4a 100644
--- a/gui/skin/font.c
+++ b/gui/skin/font.c
@@ -10,6 +10,7 @@
#include "font.h"
#include "cut.h"
#include "../mp_msg.h"
+#include "../libavutil/avstring.h"
int items;
@@ -27,7 +28,7 @@ int fntAddNewFont( char * name )
if ( ( Fonts[id]=calloc( 1,sizeof( bmpFont ) ) ) == NULL ) return -1;
- strlcpy( Fonts[id]->name,name,128 ); // FIXME: as defined in font.h
+ av_strlcpy( Fonts[id]->name,name,128 ); // FIXME: as defined in font.h
for ( i=0;i<256;i++ )
Fonts[id]->Fnt[i].x=Fonts[id]->Fnt[i].y=Fonts[id]->Fnt[i].sx=Fonts[id]->Fnt[i].sy=-1;
@@ -60,8 +61,8 @@ int fntRead( char * path,char * fname )
if ( id < 0 ) return id;
- strlcpy( tmp,path,sizeof( tmp ) );
- strlcat( tmp,fname,sizeof( tmp ) ); strlcat( tmp,".fnt",sizeof( tmp ) );
+ av_strlcpy( tmp,path,sizeof( tmp ) );
+ av_strlcat( tmp,fname,sizeof( tmp ) ); av_strlcat( tmp,".fnt",sizeof( tmp ) );
if ( ( f=fopen( tmp,"rt" ) ) == NULL )
{ free( Fonts[id] ); return -3; }
@@ -94,7 +95,7 @@ int fntRead( char * path,char * fname )
{
if ( !strcmp( command,"image" ) )
{
- strlcpy( tmp,path,sizeof( tmp ) ); strlcat( tmp,param,sizeof( tmp ) );
+ av_strlcpy( tmp,path,sizeof( tmp ) ); av_strlcat( tmp,param,sizeof( tmp ) );
mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"[font] font imagefile: %s\n",tmp );
if ( skinBPRead( tmp,&Fonts[id]->Bitmap ) ) return -4;
}
diff --git a/gui/skin/skin.c b/gui/skin/skin.c
index b83c0360e4..41dba0b26c 100644
--- a/gui/skin/skin.c
+++ b/gui/skin/skin.c
@@ -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 @@ int cmd_window( char * in )
{
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 @@ int cmd_base( char * in )
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 @@ int cmd_base( char * in )
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 @@ int cmd_base( char * in )
{
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 @@ int cmd_base( char * in )
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 @@ int cmd_button( char * in )
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 @@ int cmd_selected( char * in )
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 @@ int cmd_hpotmeter( char * in )
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 @@ int cmd_potmeter( char * in )
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 @@ FILE * skinFile;
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 )
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c
index 83a7acc1d4..f2ca7eb6b8 100644
--- a/libmpdemux/demux_mkv.c
+++ b/libmpdemux/demux_mkv.c
@@ -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},
@@ -3607,7 +3608,7 @@ demux_mkv_get_sub_lang(demuxer_t *demuxer, int track_num, char *lang,
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.
@@ -3627,7 +3628,7 @@ demux_mkv_get_audio_lang(demuxer_t *demuxer, int track_num, char *lang,
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);
}
diff --git a/libmpdemux/demux_ty.c b/libmpdemux/demux_ty.c
index 9f2a6e4c05..5f3f25eb80 100644
--- a/libmpdemux/demux_ty.c
+++ b/libmpdemux/demux_ty.c
@@ -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 @@ int ty_tmf_filetoparts( demuxer_t *demux, TiVoInfo *tivo )
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;
diff --git a/libvo/vo_dxr3.c b/libvo/vo_dxr3.c
index 4e46403a30..b66a004433 100644
--- a/libvo/vo_dxr3.c
+++ b/libvo/vo_dxr3.c
@@ -148,6 +148,7 @@
#ifdef HAVE_X11
#include "x11_common.h"
#endif
+#include "libavutil/avstring.h"
#define SPU_SUPPORT
@@ -1125,13 +1126,13 @@ static int overlay_read_state(overlay_t *o, char *p)
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;
@@ -1188,10 +1189,10 @@ static int overlay_write_state(overlay_t *o, char *p)
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))
@@ -1199,7 +1200,7 @@ static int overlay_write_state(overlay_t *o, char *p)
}
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;
diff --git a/m_option.c b/m_option.c
index cab7184a15..d63ba0ac83 100644
--- a/m_option.c
+++ b/m_option.c
@@ -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 @@ static int parse_subconf(m_option_t* opt,char *name, char *param, void* dst, int
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 @@ static int parse_subconf(m_option_t* opt,char *name, char *param, void* dst, int
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 @@ static int parse_subconf(m_option_t* opt,char *name, char *param, void* dst, int
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];
}
}
diff --git a/osdep/Makefile b/osdep/Makefile
index 86c551e2a2..8c520c3e10 100644
--- a/osdep/Makefile
+++ b/osdep/Makefile
@@ -12,8 +12,6 @@ SRCS_COMMON-$(NEED_GLOB) += glob-win.c
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
diff --git a/osdep/strlcat.c b/osdep/strlcat.c
index 1facc3333d..e69de29bb2 100644
--- a/osdep/strlcat.c
+++ b/osdep/strlcat.c
@@ -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@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);
-}
-
diff --git a/osdep/strlcpy.c b/osdep/strlcpy.c
index 887461abbc..e69de29bb2 100644
--- a/osdep/strlcpy.c
+++ b/osdep/strlcpy.c
@@ -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@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;
-}
diff --git a/stream/stream_cue.c b/stream/stream_cue.c
index ef2c8f71a2..0790de7b23 100644
--- a/stream/stream_cue.c
+++ b/stream/stream_cue.c
@@ -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 @@ static int cue_read_cue (char *in_cue_filename)
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 ));
}
diff --git a/stream/stream_dvb.c b/stream/stream_dvb.c
index 7be16e11ef..41352822d4 100644
--- a/stream/stream_dvb.c
+++ b/stream/stream_dvb.c
@@ -44,6 +44,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#include "help_mp.h"
#include "m_option.h"
#include "m_struct.h"
+#include "libavutil/avstring.h"
#include "dvbin.h"
@@ -176,7 +177,7 @@ static dvb_channels_list *dvb_get_channels(char *filename, int type)
ptr->name = malloc(k+1);
if(! ptr->name)
continue;
- strlcpy(ptr->name, line, k+1);
+ av_strlcpy(ptr->name, line, k+1);
}
else
continue;
diff --git a/stream/stream_pvr.c b/stream/stream_pvr.c
index c6aa4a2b0a..6bde5df1a5 100644
--- a/stream/stream_pvr.c
+++ b/stream/stream_pvr.c
@@ -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 @@ copycreate_stationlist (stationlist_t *stationlist, int num)
/* 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 @@ set_station (struct pvr_t *pvr, const char *station,
}
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 @@ set_station (struct pvr_t *pvr, const char *station,
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 @@ parse_setup_stationlist (struct pvr_t *pvr)
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] = ' ';
diff --git a/stream/stream_radio.c b/stream/stream_radio.c
index 441dff367c..12b19deeb3 100644
--- a/stream/stream_radio.c
+++ b/stream/stream_radio.c
@@ -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 @@ static int parse_channels(radio_priv_t* priv,float freq_channel,float* pfreq){
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';
diff --git a/stream/tv.c b/stream/tv.c
index dcb96f1126..fd686e38a7 100644
--- a/stream/tv.c
+++ b/stream/tv.c
@@ -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 @@ static int open_tv(tvi_handle_t *tvh)
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);