Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Dec 2009 15:24:18 -0800
From:      Maksim Yevmenkin <maksim.yevmenkin@gmail.com>
To:        Iain Hibbert <plunky@rya-online.net>, Matthias Drochner <m.drochner@googlemail.com>
Cc:        freebsd-bluetooth@freebsd.org
Subject:   Re: patch to make obexapp work with BSD iconv(3)
Message-ID:  <bb4a86c70912011524g6bb362cl525b4a3506ad2ef5@mail.gmail.com>
In-Reply-To: <1259694948.961003.27487.nullmailer@galant.ukfsn.org>
References:  <20091201125054.44a00147@zelz27> <1259694948.961003.27487.nullmailer@galant.ukfsn.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--0016e64ccb9c9ddf0b0479b30e8b
Content-Type: text/plain; charset=ISO-8859-1

On Tue, Dec 1, 2009 at 11:15 AM, Iain Hibbert <plunky@rya-online.net> wrote:
> On Tue, 1 Dec 2009, Matthias Drochner wrote:
>
>>  iconv_open(3), this is more robust than trying to interpret
>>  the locale string
>
> btw nl_langinfo(3) is defined to always return a valid pointer, so the
>
>        if (locale == NULL)
>                return (-1);
>
> is not required..
>
> also, the locale variable can be private to obexapp_util_locale_init() as
> it is not used elsewhere

ok, so, combined patch would look something like the attached.

could you please give it a try and see if it still works?

thanks,
max

--0016e64ccb9c9ddf0b0479b30e8b
Content-Type: text/plain; charset=US-ASCII; name="obexapp.patch.txt"
Content-Disposition: attachment; filename="obexapp.patch.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g2papss40

SW5kZXg6IE1ha2VmaWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC91c3IvbG9jYWwvY3ZzL3BvcnRz
L29iZXhhcHAvTWFrZWZpbGUsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTEKZGlmZiAtdSAtcjEu
MTEgTWFrZWZpbGUKLS0tIE1ha2VmaWxlCTIzIEFwciAyMDA3IDE4OjI5OjE4IC0wMDAwCTEuMTEK
KysrIE1ha2VmaWxlCTEgRGVjIDIwMDkgMjA6MDA6MTkgLTAwMDAKQEAgLTE0LDggKzE0LDcgQEAK
IERFQlVHX0ZMQUdTPQktZwogCiBDRkxBR1MrPQktSS91c3IvbG9jYWwvaW5jbHVkZSBcCi0JCS1J
L3Vzci9sb2NhbC9pbmNsdWRlL29wZW5vYmV4IFwKLQkJLWZuby1zdHJpY3QtYWxpYXNpbmcKKwkJ
LUkvdXNyL2xvY2FsL2luY2x1ZGUvb3Blbm9iZXgKIAogRFBBREQ9CQkke0xJQkJMVUVUT09USH0g
JHtMSUJTRFB9ICR7TElCQlNEWE1MfSAke0xJQlJFQURMSU5FfQogTERBREQ9CQktTC91c3IvbGli
IC1ML3Vzci9sb2NhbC9saWIgXApJbmRleDogY2xpZW50LmMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L3Vzci9sb2NhbC9jdnMvcG9ydHMvb2JleGFwcC9jbGllbnQuYyx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS4xOApkaWZmIC11IC1yMS4xOCBjbGllbnQuYwotLS0gY2xpZW50LmMJOSBBcHIgMjAwOSAy
MzoxNjozMSAtMDAwMAkxLjE4CisrKyBjbGllbnQuYwkxIERlYyAyMDA5IDE5OjQwOjMyIC0wMDAw
CkBAIC0xMjE5LDkgKzEyMTksOCBAQAogCQlpbnQgb2JleF9yc3ApCiB7CiAJY29udGV4dF9wCQkg
Y29udGV4dCA9IChjb250ZXh0X3ApIE9CRVhfR2V0VXNlckRhdGEoaGFuZGxlKTsKLQlvYmV4X2Nv
bm5lY3RfaGRyX3QgICAgICAqaGRyID0gTlVMTDsKIAlvYmV4X2hlYWRlcmRhdGFfdAkgaHY7Ci0J
dWludDhfdAkJCSBoaTsKKwl1aW50OF90CQkJIGhpLCAqZGF0YSA9IE5VTEw7CiAJdWludDMyX3QJ
CSBobGVuOwogCiAJbG9nX2RlYnVnKCIlcygpOiBDb25uZWN0IGNvbXBsZXRlZCwgcmVzcG9uc2Ug
JSN4IiwgX19mdW5jX18sIG9iZXhfcnNwKTsKQEAgLTEyMzIsMTAgKzEyMzEsMTIgQEAKIAlpZiAo
b2JleF9yc3AgIT0gT0JFWF9SU1BfU1VDQ0VTUykKIAkJcmV0dXJuIChvYmV4X3JzcCk7CiAKLQlp
ZiAoT0JFWF9PYmplY3RHZXROb25IZHJEYXRhKG9iamVjdCwgKHVpbnQ4X3QgKiopICZoZHIpID09
IHNpemVvZigqaGRyKSkKKwlpZiAoT0JFWF9PYmplY3RHZXROb25IZHJEYXRhKG9iamVjdCwgJmRh
dGEpID09IHNpemVvZihvYmV4X2Nvbm5lY3RfaGRyX3QpKQogCQlsb2dfZGVidWcoIiVzKCk6IE9C
RVggY29ubmVjdCBoZWFkZXI6ICIgXAotCQkJInZlcnNpb249JSN4LCBmbGFncz0lI3gsIG10dT0l
ZCIsIF9fZnVuY19fLCAKLQkJCWhkci0+dmVyc2lvbiwgaGRyLT5mbGFncywgbnRvaHMoaGRyLT5t
dHUpKTsKKwkJCSJ2ZXJzaW9uPSUjeCwgZmxhZ3M9JSN4LCBtdHU9JWQiLCBfX2Z1bmNfXywKKwkJ
CSgob2JleF9jb25uZWN0X2hkcl90ICopIGRhdGEpLT52ZXJzaW9uLAorCQkJKChvYmV4X2Nvbm5l
Y3RfaGRyX3QgKikgZGF0YSktPmZsYWdzLAorCQkJbnRvaHMoKChvYmV4X2Nvbm5lY3RfaGRyX3Qg
KikgZGF0YSktPm10dSkpOwogCWVsc2UKIAkJbG9nX2VycigiJXMoKTogSW52YWxpZCBPQkVYIGNv
bm5lY3QgaGVhZGVyPyEiLCBfX2Z1bmNfXyk7CiAKSW5kZXg6IHNlcnZlci5jCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC91c3IvbG9jYWwvY3ZzL3BvcnRzL29iZXhhcHAvc2VydmVyLmMsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuMTIKZGlmZiAtdSAtcjEuMTIgc2VydmVyLmMKLS0tIHNlcnZlci5jCTIw
IEF1ZyAyMDA5IDIxOjU3OjE4IC0wMDAwCTEuMTIKKysrIHNlcnZlci5jCTEgRGVjIDIwMDkgMjA6
MDQ6MzMgLTAwMDAKQEAgLTQ3MSwxOSArNDcxLDIwIEBACiBvYmV4YXBwX3NlcnZlcl9yZXF1ZXN0
X2Nvbm5lY3Qob2JleF90ICpoYW5kbGUsIG9iZXhfb2JqZWN0X3QgKm9iamVjdCwKIAkJX191bnVz
ZWQgaW50IG9iZXhfcnNwKQogewotCW9iZXhfY29ubmVjdF9oZHJfdCAgICAgICpoZHIgPSBOVUxM
OwogCW9iZXhfaGVhZGVyZGF0YV90CSBodjsKLQl1aW50OF90CQkJIGhpOworCXVpbnQ4X3QJCQkg
aGksICpkYXRhID0gTlVMTDsKIAl1aW50MzJfdAkJIGhsZW47CiAJdWludDhfdCBjb25zdAkJKnRh
cmdldCA9IE5VTEw7CiAJaW50CQkJIHRhcmdldF9sZW4gPSAwOwogCiAJbG9nX2RlYnVnKCIlcygp
IiwgX19mdW5jX18pOwogCi0JaWYgKE9CRVhfT2JqZWN0R2V0Tm9uSGRyRGF0YShvYmplY3QsICh1
aW50OF90ICoqKSAmaGRyKSA9PSBzaXplb2YoKmhkcikpCisJaWYgKE9CRVhfT2JqZWN0R2V0Tm9u
SGRyRGF0YShvYmplY3QsICZkYXRhKSA9PSBzaXplb2Yob2JleF9jb25uZWN0X2hkcl90KSkKIAkJ
bG9nX2RlYnVnKCIlcygpOiBPQkVYIGNvbm5lY3QgaGVhZGVyOiB2ZXJzaW9uPSUjeCwgIiBcCi0J
CQkiZmxhZ3M9JSN4LCBtdHU9JWQiLCBfX2Z1bmNfXywgaGRyLT52ZXJzaW9uLCBoZHItPmZsYWdz
LAotCQkJbnRvaHMoaGRyLT5tdHUpKTsKKwkJCSJmbGFncz0lI3gsIG10dT0lZCIsIF9fZnVuY19f
LAorCQkJKChvYmV4X2Nvbm5lY3RfaGRyX3QgKikgZGF0YSktPnZlcnNpb24sCisJCQkoKG9iZXhf
Y29ubmVjdF9oZHJfdCAqKSBkYXRhKS0+ZmxhZ3MsCisJCQludG9ocygoKG9iZXhfY29ubmVjdF9o
ZHJfdCAqKSBkYXRhKS0+bXR1KSk7CiAJZWxzZQogCQlsb2dfZXJyKCIlcygpOiBJbnZhbGlkIE9C
RVggY29ubmVjdCBoZWFkZXI/ISIsIF9fZnVuY19fKTsKIApAQCAtMTA4Niw5ICsxMDg3LDggQEAK
IAkJX191bnVzZWQgaW50IG9iZXhfcnNwKQogewogCWNvbnRleHRfcAkJIGNvbnRleHQgPSAoY29u
dGV4dF9wKSBPQkVYX0dldFVzZXJEYXRhKGhhbmRsZSk7Ci0Jb2JleF9zZXRwYXRoX2hkcl90CSpo
ZHIgPSBOVUxMOwogCW9iZXhfaGVhZGVyZGF0YV90CSBodjsKLQl1aW50OF90CQkJIGhpOworCXVp
bnQ4X3QJCQkgaGksIGZsYWdzID0gMHhmZiwgKmRhdGEgPSBOVUxMOwogCXVpbnQzMl90CQkgaGxl
bjsKIAlpbnQJCQkgZ290X25hbWUgPSAwOwogCkBAIC0xMDk2LDEwICsxMDk2LDEyIEBACiAKIAlj
b250ZXh0LT5maWxlWzBdID0gJ1wwJzsKIAotCWlmIChPQkVYX09iamVjdEdldE5vbkhkckRhdGEo
b2JqZWN0LCAodWludDhfdCAqKikgJmhkcikgPT0gc2l6ZW9mKCpoZHIpKQotICAgICAgICAgICAg
ICAgIGxvZ19kZWJ1ZygiJXMoKTogT0JFWCBzZXRwYXRoIGhlYWRlcjogZmxhZ3M9JSN4LCBjb25z
dGFudHM9JWQiLAotCQkJX19mdW5jX18sIGhkci0+ZmxhZ3MsIGhkci0+Y29uc3RhbnRzKTsKLQll
bHNlCisJaWYgKE9CRVhfT2JqZWN0R2V0Tm9uSGRyRGF0YShvYmplY3QsICZkYXRhKSA9PSBzaXpl
b2Yob2JleF9zZXRwYXRoX2hkcl90KSkgeworCQlmbGFncyA9ICgob2JleF9zZXRwYXRoX2hkcl90
ICopIGRhdGEpLT5mbGFnczsKKworCQlsb2dfZGVidWcoIiVzKCk6IE9CRVggc2V0cGF0aCBoZWFk
ZXI6IGZsYWdzPSUjeCwgY29uc3RhbnRzPSVkIiwKKwkJCV9fZnVuY19fLCBmbGFncywgKChvYmV4
X3NldHBhdGhfaGRyX3QgKikgZGF0YSktPmNvbnN0YW50cyk7CisJfSBlbHNlCiAJCWxvZ19lcnIo
IiVzKCk6IEludmFsaWQgT0JFWCBzZXRwYXRoIGhlYWRlcj8hIiwgX19mdW5jX18pOwogCiAJd2hp
bGUgKE9CRVhfT2JqZWN0R2V0TmV4dEhlYWRlcihoYW5kbGUsIG9iamVjdCwgJmhpLCAmaHYsICZo
bGVuKSkgewpAQCAtMTE1MSw5ICsxMTUzLDkgQEAKIAkJICogZGlyZWN0b3J5KSBtZWFucyAiY2Qg
Li4iLiBFdmVyeXRoaW5nIGVsc2UgaXMgZm9yYmlkZGVuLgogCQkgKi8KIAkKLQkJaWYgKGhkci0+
ZmxhZ3MgIT0gMHgzKSB7CisJCWlmIChmbGFncyAhPSAweDMpIHsKIAkJCWxvZ19lcnIoIiVzKCk6
IEludmFsaWQgZmxhZ3MgZm9yICdjZCAuLicsIGZsYWdzPSUjeCIsCi0JCQkJX19mdW5jX18sIGhk
ci0+ZmxhZ3MpOworCQkJCV9fZnVuY19fLCBmbGFncyk7CiAJCQkJCiAJCQlyZXR1cm4gKE9CRVhB
UFBfUEFDS19SU1BfQ09ERVMoT0JFWF9SU1BfRk9SQklEREVOLAogCQkJCQkJCU9CRVhfUlNQX0ZP
UkJJRERFTikpOwpAQCAtMTE2OSw5ICsxMTcxLDkgQEAKIAkJICogJ2NkIC8nLiBFdmVyeXRoaW5n
IGVsc2UgaXMgZm9yYmlkZGVuCiAJCSAqLwogCi0JCWlmIChoZHItPmZsYWdzICE9IDB4Mikgewor
CQlpZiAoZmxhZ3MgIT0gMHgyKSB7CiAJCQlsb2dfZXJyKCIlcygpOiBJbnZhbGlkIGZsYWdzIGZv
ciAnY2QgLycsIGZsYWdzPSUjeCIsCi0JCQkJX19mdW5jX18sIGhkci0+ZmxhZ3MpOworCQkJCV9f
ZnVuY19fLCBmbGFncyk7CiAJCQkJCiAJCQlyZXR1cm4gKE9CRVhBUFBfUEFDS19SU1BfQ09ERVMo
T0JFWF9SU1BfRk9SQklEREVOLAogCQkJCQkJCU9CRVhfUlNQX0ZPUkJJRERFTikpOwpAQCAtMTE4
MCw3ICsxMTgyLDcgQEAKIAkJc3RybGNweShjb250ZXh0LT5maWxlLCBjb250ZXh0LT5yb290LCBQ
QVRIX01BWCk7CiAJfQogCi0JaWYgKGhkci0+ZmxhZ3MgPT0gMCkgeworCWlmIChmbGFncyA9PSAw
KSB7CiAJCWlmIChta2Rpcihjb250ZXh0LT5maWxlLCAwNzU1KSA8IDAgJiYgZXJybm8gIT0gRUVY
SVNUKSB7CiAJCQlsb2dfZXJyKCIlcygpOiBta2RpciglcykgZmFpbGVkLiAlcyAoJWQpIiwKIAkJ
CQlfX2Z1bmNfXywgY29udGV4dC0+ZmlsZSwgCkluZGV4OiB1dGlsLmMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL3Vzci9sb2NhbC9jdnMvcG9ydHMvb2JleGFwcC91dGlsLmMsdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuMTUKZGlmZiAtdSAtcjEuMTUgdXRpbC5jCi0tLSB1dGlsLmMJMjAgQXVnIDIwMDkg
MjE6NTc6MTggLTAwMDAJMS4xNQorKysgdXRpbC5jCTEgRGVjIDIwMDkgMTk6NTg6NTMgLTAwMDAK
QEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxjdHlwZS5oPgogI2luY2x1ZGUgPGVycm5vLmg+
CiAjaW5jbHVkZSA8aWNvbnYuaD4KKyNpbmNsdWRlIDxsYW5naW5mby5oPgogI2luY2x1ZGUgPGxp
Ymdlbi5oPgogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPGxvY2FsZS5oPgpAQCAtNTYs
NyArNTcsNiBAQAogICogSW5pdCBsb2NhbGUKICAqLwogCi1zdGF0aWMgY2hhciBjb25zdAkqbG9j
YWxlID0gTlVMTDsKIHN0YXRpYyBpbnQzMl90CQkgdXRmMTYgPSAwOwogc3RhdGljIGljb252X3QJ
CSB1dGY4MmxvY2FsZSA9IChpY29udl90KSAtMTsKIHN0YXRpYyBpY29udl90CQkgbG9jYWxlMnV0
ZjggPSAoaWNvbnZfdCkgLTE7CkBAIC02NiwyNSArNjYsMTAgQEAKIGludAogb2JleGFwcF91dGls
X2xvY2FsZV9pbml0KHZvaWQpCiB7Ci0JaW50CW9uZSA9IDE7CisJY2hhciBjb25zdAkqbG9jYWxl
OwogCi0JbG9jYWxlID0gc2V0bG9jYWxlKExDX0NUWVBFLCAiIik7Ci0JaWYgKGxvY2FsZSA9PSBO
VUxMKQotCQlyZXR1cm4gKC0xKTsKLQotCWlmIChzdHJjbXAobG9jYWxlLCAiQVNDSUkiKSA9PSAw
IHx8Ci0JICAgIHN0cmNtcChsb2NhbGUsICJDIikgPT0gMCB8fAotCSAgICBzdHJjbXAobG9jYWxl
LCAiUE9TSVgiKSA9PSAwIHx8Ci0JICAgIHN0cmNtcChsb2NhbGUsICJVUy1BU0NJSSIpID09IDAp
Ci0JCWxvY2FsZSA9ICJlbl9VUy5VUy1BU0NJSSI7Ci0KLQlsb2NhbGUgPSBzdHJjaHIobG9jYWxl
LCAnLicpOwotCWlmIChsb2NhbGUgPT0gTlVMTCkKLQkJcmV0dXJuICgtMSk7Ci0KLQlsb2NhbGUg
Kys7Ci0JaWYgKGxvY2FsZVswXSA9PSAnXDAnKQotCQlyZXR1cm4gKC0xKTsKKwlzZXRsb2NhbGUo
TENfQ1RZUEUsICIiKTsKKwlsb2NhbGUgPSBubF9sYW5naW5mbyhDT0RFU0VUKTsKIAogCXV0ZjE2
ID0gKHN0cnN0cihsb2NhbGUsICJVVEYtMTYiKSAhPSBOVUxMKT8gMSA6IDA7CiAKQEAgLTk0LDcg
Kzc5LDYgQEAKIAkJcmV0dXJuICgtMSk7CiAKIAlpY29udih1dGY4MmxvY2FsZSwgTlVMTCwgTlVM
TCwgTlVMTCwgTlVMTCk7Ci0JaWNvbnZjdGwodXRmODJsb2NhbGUsIElDT05WX1NFVF9ESVNDQVJE
X0lMU0VRLCAmb25lKTsKIAogCS8qIGN1cnJlbnQgbG9jYWxlIC0+IFVURi04ICovCiAJbG9jYWxl
MnV0ZjggPSBpY29udl9vcGVuKCJVVEYtOCIsIGxvY2FsZSk7CkBAIC0xMDQsNyArODgsNiBAQAog
CX0KIAogCWljb252KGxvY2FsZTJ1dGY4LCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKTsKLQlpY29u
dmN0bChsb2NhbGUydXRmOCwgSUNPTlZfU0VUX0RJU0NBUkRfSUxTRVEsICZvbmUpOwogCiAJLyog
VVRGLTE2QkUgLT4gY3VycmVudCBsb2NhbGUgKi8KIAl1dGYxNmJlMmxvY2FsZSA9IGljb252X29w
ZW4obG9jYWxlLCAiVVRGLTE2QkUiKTsKQEAgLTExNCw3ICs5Nyw2IEBACiAJfQogCiAJaWNvbnYo
dXRmMTZiZTJsb2NhbGUsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwpOwotCWljb252Y3RsKHV0ZjE2
YmUybG9jYWxlLCBJQ09OVl9TRVRfRElTQ0FSRF9JTFNFUSwgJm9uZSk7CiAKIAkvKiBjdXJyZW50
IGxvY2FsZSAtPiBVVEYtMTZCRSAqLwogCWxvY2FsZTJ1dGYxNmJlID0gaWNvbnZfb3BlbigiVVRG
LTE2QkUiLCBsb2NhbGUpOwpAQCAtMTI0LDcgKzEwNiw2IEBACiAJfQogCiAJaWNvbnYobG9jYWxl
MnV0ZjE2YmUsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwpOwotCWljb252Y3RsKGxvY2FsZTJ1dGYx
NmJlLCBJQ09OVl9TRVRfRElTQ0FSRF9JTFNFUSwgJm9uZSk7CiAKIAlyZXR1cm4gKDApOwogfQo=
--0016e64ccb9c9ddf0b0479b30e8b--



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