anchor.diff:    expect(errorCode, equals(15), // U_BUFFER_OVERFLOW_ERROR
         reason: u_errorName!(errorCode).toString());
     cErrorCode.value = 0;
  -  final buffer = allocate<Utf16>(count: reqLen + 1);
  +  final buffer = calloc<Uint16>(reqLen + 1).cast<Utf16>();
     unumf_resultToString!(uresult, buffer, reqLen + 1, cErrorCode);
     errorCode = cErrorCode.value;
     expect(errorCode, lessThanOrEqualTo(0),
  
positive.code:   //     unumf_openForSkeletonAndLocale(u"precision-integer", -1, "en", &ec);
    // UFormattedNumber* uresult = unumf_openResult(&ec);
    // if (U_FAILURE(ec)) { return; }
    final cLocale = Utf8.toUtf8(locale);
    final cSkeleton = Utf16.toUtf16(skeleton);
    final cErrorCode = allocate<Int32>(count: 1);
    cErrorCode.value = 0;
    final uformatter =
        unumf_openForSkeletonAndLocale!(cSkeleton, -1, cLocale, cErrorCode);
    free(cSkeleton);
    free(cLocale);
    var errorCode = cErrorCode.value;
    expect(errorCode, lessThanOrEqualTo(0),
        reason: u_errorName!(errorCode).toString());
  
negative.code:   // // Cleanup:
    // unumf_close(uformatter);
    // unumf_closeResult(uresult);
    // calloc.free(buffer);
    unumf_close!(uformatter);
    unumf_closeResult!(uresult);
    calloc.free(buffer);
    calloc.free(cErrorCode);
  
    return result;
  }
  