pr29_4(3)
β¨ pr29_4 β¨
okay bestie, gather round, because we're talking about pr29_4, a lil function from libidn that is lowkey doing the most important detective work in the whole Unicode universe π
πΈ NAME πΈ
pr29_4 β it's an API function, bestie, that's literally the whole name π
π¦ SYNOPSIS π¦
#include <pr29.h>
int pr29_4(const uint32_t * in, size_t len);
π ARGUMENTS π
const uint32_t * inβ the input array, and it's stuffed with unicode code points π like, that's its whole personality.size_t lenβ the length of that input array, aka how many unicode code points we're working with here. just the count, nothing extra β¨
π DESCRIPTION π
so here's the vibe check: this function looks at your input and asks the big question β could different NFKC implementations normalize this exact same input into different strings?? π because of an anomaly in the NFKC specifications, yes, that's a real thing that happens, and it's giving chaos fr fr π
Return value: it hands you back a Pr29_rc value β PR29_SUCCESS when everything's chill and fine πΈ, and PR29_PROBLEM if your input sequence is a "problem sequence" π¨ which means it may get normalized into different strings by different implementations. not to be dramatic but that's the whole plot twist, no cap.
π REPORTING BUGS π
found a bug? spill the tea, bestie, report it to <help-libidn@gnu.org> π«Ά
the general guidelines for reporting bugs live here: https://www.gnu.org/gethelp/ β read them, they're helpful, iykyk β¨
and the GNU Libidn home page is right here: https://www.gnu.org/software/libidn/ π
π COPYRIGHT π
Copyright Β© 2002-2026 Simon Josefsson. π
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. periodt. π
π SEE ALSO π
the full documentation for libidn is maintained as a Texinfo manual π β if the info and libidn programs are properly installed at your site, this command:
info libidn
should give you access to the complete manual β¨ iconic behaviour honestly.
as an alternative, you may obtain the manual from:
https://www.gnu.org/software/libidn/manual/
go forth and read, bestie π¦
and that's the whole page!! brought to you by libidn, version 1.44 β mwah, love u, bye π
π¦ where this page comes from
- arch rolling: libidn 1.44-1 Β· GPL3 AND LGPL
- epel 10: libidn-devel 1.44-1.el10_3 Β· (LGPL-3.0-or-later OR GPL-2.0-or-later) AND GPL-3.0-or-later AND GFDL-1.3-or-later
- fedora 43: libidn-devel 1.44-1.fc43 Β· (LGPL-3.0-or-later OR GPL-2.0-or-later) AND GPL-3.0-or-later AND GFDL-1.3-or-later
- fedora 43: libidn-devel 1.44-1.fc43 Β· (LGPL-3.0-or-later OR GPL-2.0-or-later) AND GPL-3.0-or-later AND GFDL-1.3-or-later
- fedora 44: libidn-devel 1.44-1.fc44 Β· (LGPL-3.0-or-later OR GPL-2.0-or-later) AND GPL-3.0-or-later AND GFDL-1.3-or-later
- fedora 44: libidn-devel 1.44-1.fc44 Β· (LGPL-3.0-or-later OR GPL-2.0-or-later) AND GPL-3.0-or-later AND GFDL-1.3-or-later
- ubuntu stonking: libidn-dev 1.44-1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms