[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