OPTIONAL
SYNOPSIS
        #include <idn.h>

        string idna_stringprep(string str, int profile, int flags)

DESCRIPTION
        Prepare the UTF-8 string <str> according to the stringprep
        <profile> (see also libidn stringprep(3)).

        <profile> and <flags> are one of the values defined in <idn.h>.

        If an error occurs, an exception is thrown.

        The efun is available only if the system supports libidn - in
        that case __IDNA__ is defined.

HISTORY
        Introduced in LDMud 3.3.713.

SEE ALSO
        idna_to_ascii(E), idna_to_unicode(E)
