Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Jul 2012 00:15:29 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        David Chisnall <theraven@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r238182 - head/lib/libc/locale
Message-ID:  <20120706211529.GP2338@deviant.kiev.zoral.com.ua>
In-Reply-To: <201207062016.q66KGM1e080728@svn.freebsd.org>
References:  <201207062016.q66KGM1e080728@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--6sj9mcRtP+pTWLOo
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Jul 06, 2012 at 08:16:22PM +0000, David Chisnall wrote:
> Author: theraven
> Date: Fri Jul  6 20:16:22 2012
> New Revision: 238182
> URL: http://svn.freebsd.org/changeset/base/238182
>=20
> Log:
>   Restore the __collate_load_error global that was accidentally removed i=
n the
>   xlocale refactoring.
>  =20
I think this commit is wrong, or at least not complete.
You failed to restore the actual export of the symbol in locale/Symbol.map.

>   MFC after:	1 week
>=20
> Modified:
>   head/lib/libc/locale/collate.c
>   head/lib/libc/locale/setrunelocale.c
>=20
> Modified: head/lib/libc/locale/collate.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/lib/libc/locale/collate.c	Fri Jul  6 20:14:27 2012	(r238181)
> +++ head/lib/libc/locale/collate.c	Fri Jul  6 20:16:22 2012	(r238182)
> @@ -56,11 +56,11 @@ __FBSDID("$FreeBSD$");
>   * We also modify the collation table test functions to search the threa=
d-local
>   * table first and the global table second. =20
>   */
> -#define __collate_load_error (table->__collate_load_error)
>  #define __collate_substitute_nontrivial (table->__collate_substitute_non=
trivial)
>  #define __collate_substitute_table_ptr (table->__collate_substitute_tabl=
e_ptr)
>  #define __collate_char_pri_table_ptr (table->__collate_char_pri_table_pt=
r)
>  #define __collate_chain_pri_table (table->__collate_chain_pri_table)
> +int __collate_load_error;
> =20
> =20
>  struct xlocale_collate __xlocale_global_collate =3D {
> @@ -109,7 +109,9 @@ __collate_load(const char *encoding, loc
>  int
>  __collate_load_tables(const char *encoding)
>  {
> -	return __collate_load_tables_l(encoding, &__xlocale_global_collate);
> +	int ret =3D __collate_load_tables_l(encoding, &__xlocale_global_collate=
);
> +	__collate_load_error =3D __xlocale_global_collate.__collate_load_error;
> +	return ret;
>  }
> =20
>  int
> @@ -123,7 +125,7 @@ __collate_load_tables_l(const char *enco
> =20
>  	/* 'encoding' must be already checked. */
>  	if (strcmp(encoding, "C") =3D=3D 0 || strcmp(encoding, "POSIX") =3D=3D =
0) {
> -		__collate_load_error =3D 1;
> +		table->__collate_load_error =3D 1;
>  		return (_LDP_CACHE);
>  	}
> =20
> @@ -240,7 +242,7 @@ __collate_load_tables_l(const char *enco
>  			break;
>  		}
>  	}
> -	__collate_load_error =3D 0;
> +	table->__collate_load_error =3D 0;
> =20
>  	return (_LDP_LOADED);
>  }
>=20
> Modified: head/lib/libc/locale/setrunelocale.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/lib/libc/locale/setrunelocale.c	Fri Jul  6 20:14:27 2012	(r23818=
1)
> +++ head/lib/libc/locale/setrunelocale.c	Fri Jul  6 20:16:22 2012	(r23818=
2)
> @@ -67,7 +67,6 @@ extern _RuneLocale	*_Read_RuneMagi(FILE=20
> =20
>  static int		__setrunelocale(struct xlocale_ctype *l, const char *);
> =20
> -#define __collate_load_error (table->__collate_load_error)
>  #define __collate_substitute_nontrivial (table->__collate_substitute_non=
trivial)
>  #define __collate_substitute_table_ptr (table->__collate_substitute_tabl=
e_ptr)
>  #define __collate_char_pri_table_ptr (table->__collate_char_pri_table_pt=
r)

--6sj9mcRtP+pTWLOo
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (FreeBSD)

iEYEARECAAYFAk/3VXEACgkQC3+MBN1Mb4hHSwCgpOdnsvvLxZzBs0v9slSvQS2L
fHQAniKUVEcsgXI/zJ3zhMCizl3tYHlt
=1uTx
-----END PGP SIGNATURE-----

--6sj9mcRtP+pTWLOo--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120706211529.GP2338>