[vlc-devel] [PATCH] Android: implement vlc_strerror and vlc_strerror_c

Rémi Denis-Courmont remi at remlab.net
Fri Jan 3 12:10:31 CET 2014


	Hello,

Le jeudi 2 janvier 2014, 17:41:57 Edward Wang a écrit :
> Android does not have strerror_l() and won't have it any time soon.
> 
> Localization is not required as these messages will never be displayed.

Do all concerned agree that Android will never show interface dialogs? That is 
what the localization is for...

> ---
>  Uses reentrant version of strerror
> 
>  src/Makefile.am     |  1 +
>  src/android/error.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 46 insertions(+)
>  create mode 100644 src/android/error.c
> 
> diff --git a/src/Makefile.am b/src/Makefile.am
> index aeff20a..474da25 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -259,6 +259,7 @@ SOURCES_libvlc_darwin = \
>  SOURCES_libvlc_android = \
>  	android/dirs.c \
>  	android/thread.c \
> +	android/error.c \
>  	posix/filesystem.c \
>  	android/netconf.c \
>  	posix/plugin.c \
> diff --git a/src/android/error.c b/src/android/error.c
> new file mode 100644
> index 0000000..738849e
> --- /dev/null
> +++ b/src/android/error.c
> @@ -0,0 +1,45 @@
> +/**************************************************************************
> *** + * error.c: Android error messages formatting
> +
> ***************************************************************************
> ** + * Copyright © 2014 Edward Wang
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU Lesser General Public License as published by
> + * the Free Software Foundation; either version 2.1 of the License, or + *
> (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public License
> + * along with this program; if not, write to the Free Software Foundation,
> + * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. +
> ***************************************************************************
> **/ +
> +#ifdef HAVE_CONFIG_H
> +# include "config.h"
> +#endif
> +
> +#include <string.h>
> +
> +#include <vlc_common.h>
> +
> +static const char *vlc_strerror_l(int errnum, const char *lname)
> +{
> +    VLC_UNUSED(lname);
> +    return vlc_strerror(errnum);
> +}
> +
> +const char *vlc_strerror(int errnum)
> +{
> +    char* buf = malloc(100);

This looks like a memory leak to me.

> +    strerror_r(errnum, buf, 100);

I suspect missing error handling here (this may also affect the existing POSIX 
back-end).

> +    return buf;
> +}
> +
> +const char *vlc_strerror_c(int errnum)
> +{
> +    return vlc_strerror(errnum);
> +}

-- 
Rémi Denis-Courmont
http://www.remlab.net/




More information about the vlc-devel mailing list