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>