I'd like to clean up string_init, because it currently backfires
(segfaults) on Windows if parrot is installed (empty
DEFAULT_ICU_DATA_DIR ...).

Could someone please tell me what string_init is supposed to do, where
it _should_ look for the ICU data directory (if at all)?
    ...
    build_path = data_dir = const_cast(DEFAULT_ICU_DATA_DIR);
    /*
     * if the installed --prefix directory exists then use it
     */
    prefix = Parrot_get_runtime_prefix(interpreter, NULL);
    if (prefix) {
        p = strstr(build_path, "blib");        /* .../blib/lib/... */
        assert(p);
        --p;        /* slash or backslash */
        data_dir = mem_sys_allocate(strlen(prefix) + strlen(p) + 1);
        strcpy(data_dir, prefix);
        strcat(data_dir, p);
        free_data_dir = 1;
    }
    ...

Ron


Reply via email to