Attached is a shorter program .. toto2.c. I don't know if it fails on arm. But it makes use of the utrans_openU where the error occurs..

cc -Wall toto2.c -licui18n -g -o toto2
./toto2
#include <string.h>
#include <stdlib.h>
#include <unicode/utrans.h>
#include <unicode/ustring.h>
#include <assert.h>

int main() {
	char rules[]="[:Punctuation:] Any-Remove";
        int utf16_cap = 1+strlen(rules);
	int32_t utf16_len = 0;
        UChar * utf16 = malloc(utf16_cap * sizeof(UChar));
        UParseError parse_error;
	UErrorCode status = U_ZERO_ERROR;
        UTransliterator * trans;

        u_strFromUTF8(utf16, utf16_cap, &utf16_len,
                  rules, strlen(rules), &status);
	assert(status == U_ZERO_ERROR);

	trans=utrans_openU(utf16, utf16_len, UTRANS_FORWARD,
			   0, 0, &parse_error, &status);
	assert(trans);
	assert(status == U_ZERO_ERROR);
	return 0;

}

Reply via email to