Author: allison Date: Thu Jan 29 00:53:29 2009 New Revision: 36139 Modified: branches/pdd28str_part2/compilers/imcc/imcc.y branches/pdd28str_part2/compilers/imcc/imcparser.c branches/pdd28str_part2/compilers/imcc/optimizer.c branches/pdd28str_part2/compilers/imcc/parser_util.c branches/pdd28str_part2/compilers/imcc/pbc.c branches/pdd28str_part2/compilers/pirc/src/bcgen.c branches/pdd28str_part2/compilers/pirc/src/pircompunit.c branches/pdd28str_part2/compilers/pirc/src/piremit.c branches/pdd28str_part2/config/gen/crypto/digest_pmc.in branches/pdd28str_part2/docs/embed.pod branches/pdd28str_part2/include/parrot/string_funcs.h branches/pdd28str_part2/languages/dotnet/pmc/dotnetassembly.pmc branches/pdd28str_part2/languages/lua/src/pmc/lua.pmc branches/pdd28str_part2/languages/lua/src/pmc/luabytecode.pmc branches/pdd28str_part2/languages/regex/pmc/matchrange.pmc branches/pdd28str_part2/src/dynpmc/gdbmhash.pmc branches/pdd28str_part2/src/dynpmc/rational.pmc branches/pdd28str_part2/src/extend.c branches/pdd28str_part2/src/inter_cb.c branches/pdd28str_part2/src/inter_misc.c branches/pdd28str_part2/src/key.c branches/pdd28str_part2/src/library.c branches/pdd28str_part2/src/main.c branches/pdd28str_part2/src/multidispatch.c branches/pdd28str_part2/src/oo.c branches/pdd28str_part2/src/ops/core.ops branches/pdd28str_part2/src/ops/sys.ops branches/pdd28str_part2/src/packdump.c branches/pdd28str_part2/src/parrot_debugger.c branches/pdd28str_part2/src/pmc/bigint.pmc branches/pdd28str_part2/src/pmc/complex.pmc branches/pdd28str_part2/src/pmc/env.pmc branches/pdd28str_part2/src/pmc/filehandle.pmc branches/pdd28str_part2/src/pmc/fixedbooleanarray.pmc branches/pdd28str_part2/src/pmc/os.pmc branches/pdd28str_part2/src/pmc/packfile.pmc branches/pdd28str_part2/src/pmc/packfilefixupentry.pmc branches/pdd28str_part2/src/pmc/resizablebooleanarray.pmc branches/pdd28str_part2/src/pmc/resizablestringarray.pmc branches/pdd28str_part2/src/pmc/stringhandle.pmc branches/pdd28str_part2/src/string/api.c branches/pdd28str_part2/src/sub.c branches/pdd28str_part2/t/src/extend.t branches/pdd28str_part2/tools/build/nativecall.pl branches/pdd28str_part2/tools/dev/pbc_to_exe_gen.pl
Log: [pdd28str] Realizing that 'Parrot_str_new' and 'Parrot_str_new_from_cstring' do exactly the same thing (take a C string argument and return a new Parrot STRING*), collapsing them into one function. Modified: branches/pdd28str_part2/compilers/imcc/imcc.y ============================================================================== --- branches/pdd28str_part2/compilers/imcc/imcc.y (original) +++ branches/pdd28str_part2/compilers/imcc/imcc.y Thu Jan 29 00:53:29 2009 @@ -476,7 +476,7 @@ r[1] = rhs; rhs->pmc_type = pmc_type(interp, - Parrot_str_new_from_cstring(interp, unquoted_name, name_length)); + Parrot_str_new(interp, unquoted_name, name_length)); mem_sys_free(unquoted_name); mem_sys_free(const_name); @@ -1713,7 +1713,7 @@ /* there'd normally be a str_dup() here, but the lexer already * copied the string, so it's safe to use directly */ if ((IMCC_INFO(interp)->cur_pmc_type = pmc_type(interp, - Parrot_str_new_from_cstring(interp, $1, 0))) <= 0) { + Parrot_str_new(interp, $1, 0))) <= 0) { IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR, "Unknown PMC type '%s'\n", $1); } Modified: branches/pdd28str_part2/compilers/imcc/imcparser.c ============================================================================== --- branches/pdd28str_part2/compilers/imcc/imcparser.c (original) +++ branches/pdd28str_part2/compilers/imcc/imcparser.c Thu Jan 29 00:53:29 2009 @@ -802,7 +802,7 @@ r[1] = rhs; rhs->pmc_type = pmc_type(interp, - Parrot_str_new_from_cstring(interp, unquoted_name, name_length)); + Parrot_str_new(interp, unquoted_name, name_length)); mem_sys_free(unquoted_name); mem_sys_free(const_name); @@ -4127,7 +4127,7 @@ /* there'd normally be a str_dup() here, but the lexer already * copied the string, so it's safe to use directly */ if ((IMCC_INFO(interp)->cur_pmc_type = pmc_type(interp, - Parrot_str_new_from_cstring(interp, (yyvsp[(1) - (1)].s), 0))) <= 0) { + Parrot_str_new(interp, (yyvsp[(1) - (1)].s), 0))) <= 0) { IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR, "Unknown PMC type '%s'\n", (yyvsp[(1) - (1)].s)); } Modified: branches/pdd28str_part2/compilers/imcc/optimizer.c ============================================================================== --- branches/pdd28str_part2/compilers/imcc/optimizer.c (original) +++ branches/pdd28str_part2/compilers/imcc/optimizer.c Thu Jan 29 00:53:29 2009 @@ -826,7 +826,7 @@ break; case 'N': { - STRING * const s = Parrot_str_new_from_cstring(interp, r[i]->name, 0); + STRING * const s = Parrot_str_new(interp, r[i]->name, 0); REG_NUM(interp, i) = string_to_num(interp, s); } break; Modified: branches/pdd28str_part2/compilers/imcc/parser_util.c ============================================================================== --- branches/pdd28str_part2/compilers/imcc/parser_util.c (original) +++ branches/pdd28str_part2/compilers/imcc/parser_util.c Thu Jan 29 00:53:29 2009 @@ -152,7 +152,7 @@ SymReg *pmc; int nargs; const int pmc_num = pmc_type(interp, - Parrot_str_new_from_cstring(interp, *type == '.' ? type + 1 : type, 0)); + Parrot_str_new(interp, *type == '.' ? type + 1 : type, 0)); snprintf(fmt, sizeof (fmt), "%d", pmc_num); pmc = mk_const(interp, fmt, 'I'); @@ -698,7 +698,7 @@ sub_data->seg = new_cs; sub_data->start_offs = 0; sub_data->end_offs = new_cs->base.size; - sub_data->name = Parrot_str_new_from_cstring(interp, name, 0); + sub_data->name = Parrot_str_new(interp, name, 0); *error_message = NULL; } Modified: branches/pdd28str_part2/compilers/imcc/pbc.c ============================================================================== --- branches/pdd28str_part2/compilers/imcc/pbc.c (original) +++ branches/pdd28str_part2/compilers/imcc/pbc.c Thu Jan 29 00:53:29 2009 @@ -1060,7 +1060,7 @@ { ASSERT_ARGS(add_const_num) const int k = add_const_table(interp); - STRING * const s = Parrot_str_new_from_cstring(interp, buf, 0); + STRING * const s = Parrot_str_new(interp, buf, 0); interp->code->const_table->constants[k]->type = PFC_NUMBER; interp->code->const_table->constants[k]->u.number = string_to_num(interp, s); @@ -1323,7 +1323,7 @@ /* Do we have to create an instance of a specific type for this sub? */ if (unit->instance_of) { /* Look it up as a class and as a PMC type. */ - STRING * const classname = Parrot_str_new_from_cstring(interp, + STRING * const classname = Parrot_str_new(interp, unit->instance_of + 1, strlen(unit->instance_of) - 2); PMC * const classobj = Parrot_oo_get_class_str(interp, classname); @@ -1420,7 +1420,7 @@ /* Work out the name of the vtable method. */ if (unit->vtable_name) { - vtable_name = Parrot_str_new_from_cstring(interp, unit->vtable_name + 1, + vtable_name = Parrot_str_new(interp, unit->vtable_name + 1, strlen(unit->vtable_name) - 2); UNIT_FREE_CHAR(unit->method_name); } @@ -1450,7 +1450,7 @@ sub->method_name = sub->name; } else - sub->method_name = Parrot_str_new_from_cstring(interp, "", 0); + sub->method_name = Parrot_str_new(interp, "", 0); if (unit->has_ns_entry_name == 1) { Modified: branches/pdd28str_part2/compilers/pirc/src/bcgen.c ============================================================================== --- branches/pdd28str_part2/compilers/pirc/src/bcgen.c (original) +++ branches/pdd28str_part2/compilers/pirc/src/bcgen.c Thu Jan 29 00:53:29 2009 @@ -749,7 +749,7 @@ /* walk through the list of lexicals and register them */ while (lexiter) { - STRING *lexname = Parrot_str_new_from_cstring(bc->interp, lexiter->name, strlen(lexiter->name)); + STRING *lexname = Parrot_str_new(bc->interp, lexiter->name, strlen(lexiter->name)); /* declare the .lex as such */ @@ -900,7 +900,7 @@ if (instanceof) { /* Look it up as a class and as a PMC type. */ STRING * const classname - = Parrot_str_new_from_cstring(bc->interp, instanceof + 1, strlen(instanceof) - 2); + = Parrot_str_new(bc->interp, instanceof + 1, strlen(instanceof) - 2); PMC * const classobj = Parrot_oo_get_class_str(bc->interp, classname); Modified: branches/pdd28str_part2/compilers/pirc/src/pircompunit.c ============================================================================== --- branches/pdd28str_part2/compilers/pirc/src/pircompunit.c (original) +++ branches/pdd28str_part2/compilers/pirc/src/pircompunit.c Thu Jan 29 00:53:29 2009 @@ -199,7 +199,7 @@ /* get the index number of this vtable method */ vtable_index = Parrot_get_vtable_index(lexer->interp, - Parrot_str_new_from_cstring(lexer->interp, vtablename, + Parrot_str_new(lexer->interp, vtablename, strlen(vtablename))); /* now check whether the method name actually a vtable method */ @@ -894,7 +894,7 @@ void load_library(lexer_state * const lexer, char const * const library) { /* see imcc.y:600 */ - STRING *libname = Parrot_str_new_from_cstring(lexer->interp, library, strlen(library)); + STRING *libname = Parrot_str_new(lexer->interp, library, strlen(library)); PMC *ignored_value = Parrot_load_lib(lexer->interp, libname, NULL); UNUSED(ignored_value); Parrot_register_HLL_lib(lexer->interp, libname); @@ -1442,9 +1442,9 @@ char const * const name, constant * const value) { /* get a STRING representation of the c-string type */ - STRING *classname = Parrot_str_new_from_cstring(lexer->interp, type, strlen(type)); + STRING *classname = Parrot_str_new(lexer->interp, type, strlen(type)); /* get a STRING holding the c-string "Sub" */ - STRING *subclassname = Parrot_str_new_from_cstring(lexer->interp, "Sub", 3); + STRING *subclassname = Parrot_str_new(lexer->interp, "Sub", 3); /* get a PMC for the class passed in type */ PMC *constclass = Parrot_oo_get_class_str(lexer->interp, classname); /* check whether that PMC isa "Sub" */ @@ -1488,7 +1488,7 @@ } else if (value->type == INT_VAL) { - STRING *intclassname = Parrot_str_new_from_cstring(lexer->interp, "Integer", 7); + STRING *intclassname = Parrot_str_new(lexer->interp, "Integer", 7); INTVAL is_an_int = VTABLE_isa(lexer->interp, constclass, intclassname); if (is_an_int) { @@ -1523,7 +1523,7 @@ } else if (value->type == NUM_VAL) { - STRING *numclassname = Parrot_str_new_from_cstring(lexer->interp, "Float", 5); + STRING *numclassname = Parrot_str_new(lexer->interp, "Float", 5); INTVAL is_a_num = VTABLE_isa(lexer->interp, constclass, numclassname); if (is_a_num) { @@ -1553,7 +1553,7 @@ } } else if (value->type == STRING_VAL) { - STRING *strclassname = Parrot_str_new_from_cstring(lexer->interp, "String", 6); + STRING *strclassname = Parrot_str_new(lexer->interp, "String", 6); INTVAL is_a_string = VTABLE_isa(lexer->interp, constclass, strclassname); if (is_a_string) { @@ -1566,7 +1566,7 @@ int index = add_pmc_const(lexer->bc, strconst); VTABLE_set_string_native(lexer->interp, strconst, - Parrot_str_new_from_cstring(lexer->interp, value->val.sval, + Parrot_str_new(lexer->interp, value->val.sval, strlen(value->val.sval))); declare_local(lexer, PMC_TYPE, constsym); @@ -1995,7 +1995,7 @@ */ void set_hll(lexer_state * const lexer, char const * const hll) { - STRING * const hll_name = Parrot_str_new_from_cstring(lexer->interp, hll, strlen(hll)); + STRING * const hll_name = Parrot_str_new(lexer->interp, hll, strlen(hll)); CONTEXT(lexer->interp)->current_HLL = Parrot_register_HLL(lexer->interp, hll_name); } @@ -2021,8 +2021,8 @@ void set_hll_map(lexer_state * const lexer, char const * const stdtype, char const * const maptype) { Parrot_Context *ctx = CONTEXT(lexer->interp); - STRING * const built_in_name = Parrot_str_new_from_cstring(lexer->interp, stdtype, strlen(stdtype)); - STRING * const language_name = Parrot_str_new_from_cstring(lexer->interp, maptype, strlen(maptype)); + STRING * const built_in_name = Parrot_str_new(lexer->interp, stdtype, strlen(stdtype)); + STRING * const language_name = Parrot_str_new(lexer->interp, maptype, strlen(maptype)); int built_in_type = pmc_type(lexer->interp, built_in_name); int language_type = pmc_type(lexer->interp, language_name); Modified: branches/pdd28str_part2/compilers/pirc/src/piremit.c ============================================================================== --- branches/pdd28str_part2/compilers/pirc/src/piremit.c (original) +++ branches/pdd28str_part2/compilers/pirc/src/piremit.c Thu Jan 29 00:53:29 2009 @@ -787,7 +787,7 @@ int index = add_pmc_const(lexer->bc, strconst); VTABLE_set_string_native(lexer->interp, strconst, - Parrot_str_new_from_cstring(lexer->interp, + Parrot_str_new(lexer->interp, second_operand->expr.c->val.sval, strlen(second_operand->expr.c->val.sval))); Modified: branches/pdd28str_part2/config/gen/crypto/digest_pmc.in ============================================================================== --- branches/pdd28str_part2/config/gen/crypto/digest_pmc.in (original) +++ branches/pdd28str_part2/config/gen/crypto/digest_pmc.in Thu Jan 29 00:53:29 2009 @@ -132,7 +132,7 @@ STRING *retval; (void)@md_n...@_final(digest, c); - retval = Parrot_str_new_from_cstring(INTERP, (char *)digest, @md_dig...@_length); + retval = Parrot_str_new(INTERP, (char *)digest, @md_dig...@_length); RETURN(STRING *retval); #else Modified: branches/pdd28str_part2/docs/embed.pod ============================================================================== --- branches/pdd28str_part2/docs/embed.pod (original) +++ branches/pdd28str_part2/docs/embed.pod Thu Jan 29 00:53:29 2009 @@ -290,7 +290,7 @@ XXX needs to be a formal Parrot_* API. Returns the C string representation of a Parrot string. -=item C<STRING *Parrot_str_new_from_cstring(PARROT_INTERP, const char *string, int len)> +=item C<STRING *Parrot_str_new(PARROT_INTERP, const char *string, int len)> XXX needs to be a formal Parrot_* API. Returns the Parrot string representation of a C string. @@ -298,7 +298,7 @@ =item C<string_from_literal(PARROT_INTERP, const char *string)> XXX needs to be a formal Parrot_* API. -A macro for simplifying calls to C<Parrot_str_new_from_cstring>. +A macro for simplifying calls to C<Parrot_str_new>. =back Modified: branches/pdd28str_part2/include/parrot/string_funcs.h ============================================================================== --- branches/pdd28str_part2/include/parrot/string_funcs.h (original) +++ branches/pdd28str_part2/include/parrot/string_funcs.h Thu Jan 29 00:53:29 2009 @@ -19,7 +19,7 @@ /* Declarations of accessors */ -#define string_from_literal(i, s) Parrot_str_new_from_cstring((i), (s), (sizeof (s)-1)) +#define string_from_literal(i, s) Parrot_str_new((i), (s), (sizeof (s)-1)) #define Parrot_unCOW_string(i, s) PObj_COW_TEST((s)) ? \ Parrot_str_write_COW((i), (s)), (s) : (s) @@ -281,7 +281,7 @@ PARROT_WARN_UNUSED_RESULT PARROT_MALLOC PARROT_CANNOT_RETURN_NULL -STRING * Parrot_str_new_from_cstring(PARROT_INTERP, +STRING * Parrot_str_new(PARROT_INTERP, ARGIN_NULLOK(const char * const buffer), const UINTVAL len) __attribute__nonnull__(1); @@ -637,7 +637,7 @@ #define ASSERT_ARGS_string_escape_string_delimited \ __attribute__unused__ int _ASSERT_ARGS_CHECK = \ PARROT_ASSERT_ARG(interp) -#define ASSERT_ARGS_Parrot_str_new_from_cstring __attribute__unused__ int _ASSERT_ARGS_CHECK = \ +#define ASSERT_ARGS_Parrot_str_new __attribute__unused__ int _ASSERT_ARGS_CHECK = \ PARROT_ASSERT_ARG(interp) #define ASSERT_ARGS_string_from_int __attribute__unused__ int _ASSERT_ARGS_CHECK = \ PARROT_ASSERT_ARG(interp) Modified: branches/pdd28str_part2/languages/dotnet/pmc/dotnetassembly.pmc ============================================================================== --- branches/pdd28str_part2/languages/dotnet/pmc/dotnetassembly.pmc (original) +++ branches/pdd28str_part2/languages/dotnet/pmc/dotnetassembly.pmc Thu Jan 29 00:53:29 2009 @@ -897,7 +897,7 @@ else pos_name = stream_word_u(ass->tables, row_addr + 4); if (pos_name) - param->str_name = Parrot_str_new_from_cstring(INTERP, ass->strings + pos_name, 0); + param->str_name = Parrot_str_new(INTERP, ass->strings + pos_name, 0); else param->str_name = NULL; @@ -947,7 +947,7 @@ cur_pos = 6; } if (pos_name) - field->str_name = Parrot_str_new_from_cstring(INTERP, ass->strings + pos_name, 0); + field->str_name = Parrot_str_new(INTERP, ass->strings + pos_name, 0); else field->str_name = NULL; @@ -1011,7 +1011,7 @@ cur_pos = 12; } if (pos_name) - method->str_name = Parrot_str_new_from_cstring(INTERP, ass->strings + pos_name, 0); + method->str_name = Parrot_str_new(INTERP, ass->strings + pos_name, 0); else method->str_name = NULL; @@ -1187,12 +1187,12 @@ cur_pos = 12; } if (pos_name) - type->str_name = Parrot_str_new_from_cstring(INTERP, ass->strings + pos_name, 0); + type->str_name = Parrot_str_new(INTERP, ass->strings + pos_name, 0); else type->str_name = NULL; if (pos_namespace) { - type->str_namespace = Parrot_str_new_from_cstring(INTERP, + type->str_namespace = Parrot_str_new(INTERP, ass->strings + pos_namespace, 0); type->str_fullname = Parrot_str_concat(INTERP, type->str_namespace, string_from_literal(INTERP, "."), 0); @@ -1357,11 +1357,11 @@ pos_namespace = stream_word_u(ass->tables, row_addr + cur_pos + 4); } if (pos_name) - typeref->str_name = Parrot_str_new_from_cstring(INTERP, ass->strings + pos_name, 0); + typeref->str_name = Parrot_str_new(INTERP, ass->strings + pos_name, 0); else typeref->str_name = NULL; if (pos_namespace) - typeref->str_namespace = Parrot_str_new_from_cstring(INTERP, + typeref->str_namespace = Parrot_str_new(INTERP, ass->strings + pos_namespace, 0); else typeref->str_namespace = NULL; @@ -1425,7 +1425,7 @@ pos_name = stream_word_u(ass->tables, row_addr + cur_pos); cur_pos += 4; } - memberref->str_name = Parrot_str_new_from_cstring(INTERP, ass->strings + pos_name, 0); + memberref->str_name = Parrot_str_new(INTERP, ass->strings + pos_name, 0); /* Get signature. */ if (ass->blobs_ptr_size == 2) @@ -1493,7 +1493,7 @@ pos_name = stream_word_u(ass->tables, row_addr + cur_pos); cur_pos += 4; } - assemblyref->str_name = Parrot_str_new_from_cstring(INTERP, ass->strings + pos_name, 0); + assemblyref->str_name = Parrot_str_new(INTERP, ass->strings + pos_name, 0); /* Get culture. */ if (ass->strings_ptr_size == 2) @@ -1506,7 +1506,7 @@ pos_culture = stream_word_u(ass->tables, row_addr + cur_pos); cur_pos += 4; } - assemblyref->str_culture = Parrot_str_new_from_cstring(INTERP, ass->strings + pos_culture, 0); + assemblyref->str_culture = Parrot_str_new(INTERP, ass->strings + pos_culture, 0); /* Get hash value blob index. */ if (ass->blobs_ptr_size == 2) @@ -1935,7 +1935,7 @@ /* Create and return a new string (pass 0 as length; end found automatically). */ - result = Parrot_str_new_from_cstring(INTERP, ass->strings + i, 0); + result = Parrot_str_new(INTERP, ass->strings + i, 0); RETURN(STRING *result); } @@ -2039,7 +2039,7 @@ "Blob position and length out of range"); /* Return string containing blob. */ - out = Parrot_str_new_from_cstring(INTERP, ass->blobs + start, length); + out = Parrot_str_new(INTERP, ass->blobs + start, length); if (!out) Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION, "Unable to create blob string"); Modified: branches/pdd28str_part2/languages/lua/src/pmc/lua.pmc ============================================================================== --- branches/pdd28str_part2/languages/lua/src/pmc/lua.pmc (original) +++ branches/pdd28str_part2/languages/lua/src/pmc/lua.pmc Thu Jan 29 00:53:29 2009 @@ -146,7 +146,7 @@ if (p) { retval = pmc_new(INTERP, dynpmc_LuaString); VTABLE_set_string_native(INTERP, retval, - Parrot_str_new_from_cstring(INTERP, p, 0)); + Parrot_str_new(INTERP, p, 0)); } else retval = pmc_new(INTERP, dynpmc_LuaNil); @@ -183,7 +183,7 @@ string_cstring_free(s); } - retval = Parrot_str_new_from_cstring(INTERP, b, reslen); + retval = Parrot_str_new(INTERP, b, reslen); RETURN(STRING *retval); } @@ -213,7 +213,7 @@ Parrot_ex_throw_from_c_args(INTERP, NULL, 1, "unable to generate a unique filename"); - retval = Parrot_str_new_from_cstring(INTERP, buff, 0); + retval = Parrot_str_new(INTERP, buff, 0); RETURN(STRING *retval); } Modified: branches/pdd28str_part2/languages/lua/src/pmc/luabytecode.pmc ============================================================================== --- branches/pdd28str_part2/languages/lua/src/pmc/luabytecode.pmc (original) +++ branches/pdd28str_part2/languages/lua/src/pmc/luabytecode.pmc Thu Jan 29 00:53:29 2009 @@ -112,11 +112,11 @@ memcpy(&s, fp, sizeof s); fp += sizeof s; if (s != 0) { - str = Parrot_str_new_from_cstring(interp, fp, s-1); + str = Parrot_str_new(interp, fp, s-1); fp += s; } else - str = Parrot_str_new_from_cstring(interp, "", 0); + str = Parrot_str_new(interp, "", 0); return str; } Modified: branches/pdd28str_part2/languages/regex/pmc/matchrange.pmc ============================================================================== --- branches/pdd28str_part2/languages/regex/pmc/matchrange.pmc (original) +++ branches/pdd28str_part2/languages/regex/pmc/matchrange.pmc Thu Jan 29 00:53:29 2009 @@ -54,12 +54,12 @@ static INTVAL* matchrange_locate_keyed_int(Interp* interp, PMC* self, STRING *key) { - STRING *start = Parrot_str_new_from_cstring(interp, "start", 5); + STRING *start = Parrot_str_new(interp, "start", 5); STRING *end; if (0 == string_equal(interp, key, start)) return &RANGE_START(self); - end = Parrot_str_new_from_cstring(interp, "end", 3); + end = Parrot_str_new(interp, "end", 3); if (0 == string_equal(interp, key, end)) return &RANGE_END(self); Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_KEY_NOT_FOUND, Modified: branches/pdd28str_part2/src/dynpmc/gdbmhash.pmc ============================================================================== --- branches/pdd28str_part2/src/dynpmc/gdbmhash.pmc (original) +++ branches/pdd28str_part2/src/dynpmc/gdbmhash.pmc Thu Jan 29 00:53:29 2009 @@ -235,7 +235,7 @@ key_gdbm.dptr = keystr->strstart; val_gdbm = gdbm_fetch(dbf, key_gdbm); - val = Parrot_str_new_from_cstring(interp, val_gdbm.dptr, val_gdbm.dsize); + val = Parrot_str_new(interp, val_gdbm.dptr, val_gdbm.dsize); free(val_gdbm.dptr); return val; Modified: branches/pdd28str_part2/src/dynpmc/rational.pmc ============================================================================== --- branches/pdd28str_part2/src/dynpmc/rational.pmc (original) +++ branches/pdd28str_part2/src/dynpmc/rational.pmc Thu Jan 29 00:53:29 2009 @@ -55,7 +55,7 @@ static STRING *rat_get_string_to_base(PARROT_INTERP, PMC *self, int base) { #ifdef PARROT_HAS_GMP char * const cstr = mpq_get_str(NULL, (int) base, RT(self)); - STRING * pstr = Parrot_str_new_from_cstring(interp, cstr, 0); + STRING * pstr = Parrot_str_new(interp, cstr, 0); string_cstring_free(cstr); return pstr; #else @@ -286,9 +286,9 @@ METHOD version() { STRING *version; #ifdef PARROT_HAS_GMP - version = Parrot_str_new_from_cstring(INTERP, gmp_version, 0); + version = Parrot_str_new(INTERP, gmp_version, 0); #else - version = Parrot_str_new_from_cstring(INTERP, "0.0.0", 0); + version = Parrot_str_new(INTERP, "0.0.0", 0); #endif RETURN(STRING *version); } Modified: branches/pdd28str_part2/src/extend.c ============================================================================== --- branches/pdd28str_part2/src/extend.c (original) +++ branches/pdd28str_part2/src/extend.c Thu Jan 29 00:53:29 2009 @@ -683,7 +683,7 @@ ASSERT_ARGS(Parrot_PMC_set_cstring) PARROT_CALLIN_START(interp); VTABLE_set_string_native(interp, pmc, - Parrot_str_new_from_cstring(interp, value, 0)); + Parrot_str_new(interp, value, 0)); PARROT_CALLIN_END(interp); } @@ -705,7 +705,7 @@ ASSERT_ARGS(Parrot_PMC_set_cstring_intkey) PARROT_CALLIN_START(interp); VTABLE_set_string_keyed_int(interp, pmc, key, - Parrot_str_new_from_cstring(interp, value, 0)); + Parrot_str_new(interp, value, 0)); PARROT_CALLIN_END(interp); } @@ -727,7 +727,7 @@ ASSERT_ARGS(Parrot_PMC_set_cstringn) PARROT_CALLIN_START(interp); VTABLE_set_string_native(interp, pmc, - Parrot_str_new_from_cstring(interp, value, length)); + Parrot_str_new(interp, value, length)); PARROT_CALLIN_END(interp); } @@ -811,7 +811,7 @@ ASSERT_ARGS(Parrot_PMC_set_cstringn_intkey) PARROT_CALLIN_START(interp); VTABLE_set_string_keyed_int(interp, pmc, key, - Parrot_str_new_from_cstring(interp, value, length)); + Parrot_str_new(interp, value, length)); PARROT_CALLIN_END(interp); } @@ -855,7 +855,7 @@ ASSERT_ARGS(Parrot_PMC_typenum) Parrot_Int retval; PARROT_CALLIN_START(interp); - retval = pmc_type(interp, Parrot_str_new_from_cstring(interp, _class, 0)); + retval = pmc_type(interp, Parrot_str_new(interp, _class, 0)); PARROT_CALLIN_END(interp); return retval; } Modified: branches/pdd28str_part2/src/inter_cb.c ============================================================================== --- branches/pdd28str_part2/src/inter_cb.c (original) +++ branches/pdd28str_part2/src/inter_cb.c Thu Jan 29 00:53:29 2009 @@ -356,7 +356,7 @@ #endif case 't': pasm_sig[2] = 'S'; - param = Parrot_str_new_from_cstring(interp, external_data, 0); + param = Parrot_str_new(interp, external_data, 0); break; default: Parrot_ex_throw_from_c_args(interp, NULL, 1, Modified: branches/pdd28str_part2/src/inter_misc.c ============================================================================== --- branches/pdd28str_part2/src/inter_misc.c (original) +++ branches/pdd28str_part2/src/inter_misc.c Thu Jan 29 00:53:29 2009 @@ -398,7 +398,7 @@ if (pos > 0) pos++; - basename = Parrot_str_new_from_cstring(interp, fullname_c + pos, 0); + basename = Parrot_str_new(interp, fullname_c + pos, 0); mem_sys_free(fullname_c); return basename; Modified: branches/pdd28str_part2/src/key.c ============================================================================== --- branches/pdd28str_part2/src/key.c (original) +++ branches/pdd28str_part2/src/key.c Thu Jan 29 00:53:29 2009 @@ -141,7 +141,7 @@ key_new_cstring(PARROT_INTERP, ARGIN_NULLOK(const char *value)) { ASSERT_ARGS(key_new_cstring) - return key_new_string(interp, Parrot_str_new_from_cstring(interp, value, 0)); + return key_new_string(interp, Parrot_str_new(interp, value, 0)); } @@ -589,7 +589,7 @@ ASSERT_ARGS(key_set_to_string) STRING * const semicolon = CONST_STRING(interp, " ; "); STRING * const quote = CONST_STRING(interp, "'"); - STRING *value = Parrot_str_new_from_cstring(interp, "[ ", 2); + STRING *value = Parrot_str_new(interp, "[ ", 2); for (; key; key = (PMC *)PMC_data(key)) { switch (PObj_get_FLAGS(key) & KEY_type_FLAGS) { @@ -633,7 +633,7 @@ value = Parrot_str_append(interp, value, semicolon); } - value = Parrot_str_append(interp, value, Parrot_str_new_from_cstring(interp, " ]", 2)); + value = Parrot_str_append(interp, value, Parrot_str_new(interp, " ]", 2)); return value; } Modified: branches/pdd28str_part2/src/library.c ============================================================================== --- branches/pdd28str_part2/src/library.c (original) +++ branches/pdd28str_part2/src/library.c Thu Jan 29 00:53:29 2009 @@ -593,7 +593,7 @@ PMC * const lib_paths = VTABLE_get_pmc_keyed_int(interp, iglobals, IGLOBALS_LIB_PATHS); PMC * paths = VTABLE_get_pmc_keyed_int(interp, lib_paths, which); - STRING * const path_str = Parrot_str_new_from_cstring(interp, path, 0); + STRING * const path_str = Parrot_str_new(interp, path, 0); VTABLE_push_string(interp, paths, path_str); } @@ -682,7 +682,7 @@ enum_runtime_ft type) { ASSERT_ARGS(Parrot_locate_runtime_file) - STRING * const file = Parrot_str_new_from_cstring(interp, file_name, 0); + STRING * const file = Parrot_str_new(interp, file_name, 0); STRING * const result = Parrot_locate_runtime_file_str(interp, file, type); /* * XXX valgrind shows e.g. @@ -757,7 +757,7 @@ if (env) { - result = Parrot_str_new_from_cstring(interp, env, 0); + result = Parrot_str_new(interp, env, 0); if (free_it) free(env); } Modified: branches/pdd28str_part2/src/main.c ============================================================================== --- branches/pdd28str_part2/src/main.c (original) +++ branches/pdd28str_part2/src/main.c Thu Jan 29 00:53:29 2009 @@ -55,7 +55,7 @@ /* We parse the arguments, but first store away the name of the Parrot executable, since parsing destroys that and we want to make it available. */ - Parrot_set_executable_name(interp, Parrot_str_new_from_cstring(interp, argv[0], 0)); + Parrot_set_executable_name(interp, Parrot_str_new(interp, argv[0], 0)); sourcefile = parseflags(interp, &argc, &argv); status = imcc_run(interp, sourcefile, argc, argv); Modified: branches/pdd28str_part2/src/multidispatch.c ============================================================================== --- branches/pdd28str_part2/src/multidispatch.c (original) +++ branches/pdd28str_part2/src/multidispatch.c Thu Jan 29 00:53:29 2009 @@ -1559,7 +1559,7 @@ if (name) strcpy((char *)(type_ids + num_values), name); - key = Parrot_str_new_from_cstring(interp, (char *)type_ids, id_size); + key = Parrot_str_new(interp, (char *)type_ids, id_size); mem_sys_free(type_ids); return key; @@ -1656,7 +1656,7 @@ if (name) strcpy((char *)(type_ids + num_types), name); - key = Parrot_str_new_from_cstring(interp, (char *)type_ids, id_size); + key = Parrot_str_new(interp, (char *)type_ids, id_size); mem_sys_free(type_ids); return key; Modified: branches/pdd28str_part2/src/oo.c ============================================================================== --- branches/pdd28str_part2/src/oo.c (original) +++ branches/pdd28str_part2/src/oo.c Thu Jan 29 00:53:29 2009 @@ -133,7 +133,7 @@ /* Look up the name of the vtable function from the index. */ const INTVAL vtable_index = string_to_int(interp, vtable_index_str); const char * const meth_c = Parrot_vtable_slot_names[vtable_index]; - STRING *vtable_name = Parrot_str_new_from_cstring(interp, meth_c, 0); + STRING *vtable_name = Parrot_str_new(interp, meth_c, 0); /* Strip leading underscores in the vtable name */ if (string_str_index(interp, vtable_name, CONST_STRING(interp, "__"), 0) == 0) { Modified: branches/pdd28str_part2/src/ops/core.ops ============================================================================== --- branches/pdd28str_part2/src/ops/core.ops (original) +++ branches/pdd28str_part2/src/ops/core.ops Thu Jan 29 00:53:29 2009 @@ -837,7 +837,7 @@ inline op pop_eh() { Parrot_cx_delete_handler_local(interp, - Parrot_str_new_from_cstring(interp, "exception", 9)); + Parrot_str_new(interp, "exception", 9)); } inline op throw(invar PMC) :flow { @@ -867,7 +867,7 @@ inline op count_eh(out INT) { $1 = Parrot_cx_count_handlers_local(interp, - Parrot_str_new_from_cstring(interp, "exception", 9)); + Parrot_str_new(interp, "exception", 9)); } inline op die(in STR) :flow { Modified: branches/pdd28str_part2/src/ops/sys.ops ============================================================================== --- branches/pdd28str_part2/src/ops/sys.ops (original) +++ branches/pdd28str_part2/src/ops/sys.ops Thu Jan 29 00:53:29 2009 @@ -178,7 +178,7 @@ char resultbuffer[26]; Parrot_gmtime_r(&t, &tm); Parrot_asctime_r(&tm, resultbuffer); - $1 = Parrot_str_new_from_cstring(interp, resultbuffer, 25); + $1 = Parrot_str_new(interp, resultbuffer, 25); } op localtime(out STR, in INT) { @@ -187,7 +187,7 @@ char resultbuffer[26]; Parrot_localtime_r(&t, &tm); Parrot_asctime_r(&tm, resultbuffer); - $1 = Parrot_str_new_from_cstring(interp, resultbuffer, 25); + $1 = Parrot_str_new(interp, resultbuffer, 25); } op decodetime(out PMC, in INT) { Modified: branches/pdd28str_part2/src/packdump.c ============================================================================== --- branches/pdd28str_part2/src/packdump.c (original) +++ branches/pdd28str_part2/src/packdump.c Thu Jan 29 00:53:29 2009 @@ -294,13 +294,13 @@ if (sub->namespace_name) { switch (sub->namespace_name->vtable->base_type) { case enum_class_String: - namespace_description = Parrot_str_new_from_cstring(interp, "'", 1); + namespace_description = Parrot_str_new(interp, "'", 1); namespace_description = Parrot_str_append(interp, namespace_description, PMC_str_val(sub->namespace_name)); namespace_description = Parrot_str_append(interp, namespace_description, - Parrot_str_new_from_cstring(interp, "'", 1)); + Parrot_str_new(interp, "'", 1)); break; case enum_class_Key: namespace_description = Modified: branches/pdd28str_part2/src/parrot_debugger.c ============================================================================== --- branches/pdd28str_part2/src/parrot_debugger.c (original) +++ branches/pdd28str_part2/src/parrot_debugger.c Thu Jan 29 00:53:29 2009 @@ -148,7 +148,7 @@ interp = Parrot_new(NULL); - Parrot_set_executable_name(interp, Parrot_str_new_from_cstring(interp, argv[0], 0)); + Parrot_set_executable_name(interp, Parrot_str_new(interp, argv[0], 0)); Parrot_debugger_init(interp); Modified: branches/pdd28str_part2/src/pmc/bigint.pmc ============================================================================== --- branches/pdd28str_part2/src/pmc/bigint.pmc (original) +++ branches/pdd28str_part2/src/pmc/bigint.pmc Thu Jan 29 00:53:29 2009 @@ -588,7 +588,7 @@ METHOD version() { STRING *version; #ifdef PARROT_HAS_GMP - version = Parrot_str_new_from_cstring(INTERP, gmp_version, 0); + version = Parrot_str_new(INTERP, gmp_version, 0); #else version = CONST_STRING(INTERP, "0.0.0"); #endif @@ -793,14 +793,14 @@ VTABLE STRING *get_string() { char *s = bigint_get_string(INTERP, SELF, 10); - STRING *ps = Parrot_str_new_from_cstring(INTERP, s, 0); + STRING *ps = Parrot_str_new(INTERP, s, 0); mem_sys_free(s); return ps; } VTABLE STRING *get_string_keyed_int(INTVAL base) { char *s = bigint_get_string(INTERP, SELF, base); - STRING *ps = Parrot_str_new_from_cstring(INTERP, s, 0); + STRING *ps = Parrot_str_new(INTERP, s, 0); mem_sys_free(s); return ps; } Modified: branches/pdd28str_part2/src/pmc/complex.pmc ============================================================================== --- branches/pdd28str_part2/src/pmc/complex.pmc (original) +++ branches/pdd28str_part2/src/pmc/complex.pmc Thu Jan 29 00:53:29 2009 @@ -164,7 +164,7 @@ if (first_num_length) { /* there is a real part, interpret it */ - S = Parrot_str_new_from_cstring(interp, first_num_offset, first_num_length); + S = Parrot_str_new(interp, first_num_offset, first_num_length); *re = string_to_num(interp, S); } else { @@ -174,7 +174,7 @@ if (second_num_length) { /* there is an imaginary part, interpret it */ - S = Parrot_str_new_from_cstring(interp, second_num_offset, second_num_length); + S = Parrot_str_new(interp, second_num_offset, second_num_length); *im = string_to_num(interp, S); } else { Modified: branches/pdd28str_part2/src/pmc/env.pmc ============================================================================== --- branches/pdd28str_part2/src/pmc/env.pmc (original) +++ branches/pdd28str_part2/src/pmc/env.pmc Thu Jan 29 00:53:29 2009 @@ -153,7 +153,7 @@ else { const char * const envp = environ[keynum]; const char * const p = strchr(envp, '='); - return Parrot_str_new_from_cstring(interp, envp, (UINTVAL)(p - envp)); + return Parrot_str_new(interp, envp, (UINTVAL)(p - envp)); } } else { @@ -166,7 +166,7 @@ string_cstring_free(keyname); if (val) { - STRING * const retval = Parrot_str_new_from_cstring(interp, val, 0); + STRING * const retval = Parrot_str_new(interp, val, 0); if (free_it) mem_sys_free(val); @@ -204,7 +204,7 @@ string_cstring_free(keyname); if (val) { - retval = Parrot_str_new_from_cstring(INTERP, val, 0); + retval = Parrot_str_new(INTERP, val, 0); if (free_it) mem_sys_free(val); } Modified: branches/pdd28str_part2/src/pmc/filehandle.pmc ============================================================================== --- branches/pdd28str_part2/src/pmc/filehandle.pmc (original) +++ branches/pdd28str_part2/src/pmc/filehandle.pmc Thu Jan 29 00:53:29 2009 @@ -348,7 +348,7 @@ if (*r) add_history(r); - string_result = Parrot_str_new_from_cstring(INTERP, r, 0); + string_result = Parrot_str_new(INTERP, r, 0); mem_sys_free(r); RETURN(STRING *string_result); } Modified: branches/pdd28str_part2/src/pmc/fixedbooleanarray.pmc ============================================================================== --- branches/pdd28str_part2/src/pmc/fixedbooleanarray.pmc (original) +++ branches/pdd28str_part2/src/pmc/fixedbooleanarray.pmc Thu Jan 29 00:53:29 2009 @@ -519,7 +519,7 @@ GET_ATTR_resize_threshold(INTERP, SELF, resize_threshold); GET_ATTR_bit_array(INTERP, SELF, bit_array); - s = Parrot_str_new_from_cstring(INTERP, (char*)bit_array, + s = Parrot_str_new(INTERP, (char*)bit_array, (resize_threshold / BITS_PER_CHAR)); VTABLE_push_integer(INTERP, io, size); Modified: branches/pdd28str_part2/src/pmc/os.pmc ============================================================================== --- branches/pdd28str_part2/src/pmc/os.pmc (original) +++ branches/pdd28str_part2/src/pmc/os.pmc Thu Jan 29 00:53:29 2009 @@ -87,7 +87,7 @@ # endif #endif if (cwd) { - STRING * const scwd = Parrot_str_new_from_cstring(interp, cwd, strlen(cwd)); + STRING * const scwd = Parrot_str_new(interp, cwd, strlen(cwd)); mem_sys_free(cwd); RETURN(STRING *scwd); } @@ -492,7 +492,7 @@ array = pmc_new(interp, enum_class_ResizableStringArray); while ((dirent = readdir(dir)) != NULL) { - retval = Parrot_str_new_from_cstring(interp, dirent->d_name, 0) ; + retval = Parrot_str_new(interp, dirent->d_name, 0) ; VTABLE_push_string(interp, array, retval); } Modified: branches/pdd28str_part2/src/pmc/packfile.pmc ============================================================================== --- branches/pdd28str_part2/src/pmc/packfile.pmc (original) +++ branches/pdd28str_part2/src/pmc/packfile.pmc Thu Jan 29 00:53:29 2009 @@ -176,7 +176,7 @@ VTABLE STRING *get_string_keyed_str(STRING *key) { PackFile *pf = PMC_data_typed(SELF, PackFile *); if (!string_compare(interp, key, CONST_STRING(interp, "uuid"))) - return Parrot_str_new_from_cstring(interp, (char*)pf->header->uuid_data, pf->header->uuid_size); + return Parrot_str_new(interp, (char*)pf->header->uuid_data, pf->header->uuid_size); Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_KEY_NOT_FOUND, "Packfile: No such string key \"%s\"", Modified: branches/pdd28str_part2/src/pmc/packfilefixupentry.pmc ============================================================================== --- branches/pdd28str_part2/src/pmc/packfilefixupentry.pmc (original) +++ branches/pdd28str_part2/src/pmc/packfilefixupentry.pmc Thu Jan 29 00:53:29 2009 @@ -34,7 +34,7 @@ */ VTABLE STRING *get_string() { PackFile_FixupEntry *pfentry = PMC_data_typed(SELF, PackFile_FixupEntry *); - return Parrot_str_new_from_cstring(interp, pfentry->name, strlen(pfentry->name)); + return Parrot_str_new(interp, pfentry->name, strlen(pfentry->name)); } /* Modified: branches/pdd28str_part2/src/pmc/resizablebooleanarray.pmc ============================================================================== --- branches/pdd28str_part2/src/pmc/resizablebooleanarray.pmc (original) +++ branches/pdd28str_part2/src/pmc/resizablebooleanarray.pmc Thu Jan 29 00:53:29 2009 @@ -435,7 +435,7 @@ VTABLE_push_integer(INTERP, io, head_pos); VTABLE_push_integer(INTERP, io, tail_pos); - s = Parrot_str_new_from_cstring(INTERP, (char*)bit_array, tail_pos); + s = Parrot_str_new(INTERP, (char*)bit_array, tail_pos); VTABLE_push_string(INTERP, io, s); } Modified: branches/pdd28str_part2/src/pmc/resizablestringarray.pmc ============================================================================== --- branches/pdd28str_part2/src/pmc/resizablestringarray.pmc (original) +++ branches/pdd28str_part2/src/pmc/resizablestringarray.pmc Thu Jan 29 00:53:29 2009 @@ -54,7 +54,7 @@ data = (STRING**)PMC_data(SELF); if (!data[key]) - data[key] = Parrot_str_new_from_cstring(interp, NULL, 0); + data[key] = Parrot_str_new(interp, NULL, 0); return data[key]; } Modified: branches/pdd28str_part2/src/pmc/stringhandle.pmc ============================================================================== --- branches/pdd28str_part2/src/pmc/stringhandle.pmc (original) +++ branches/pdd28str_part2/src/pmc/stringhandle.pmc Thu Jan 29 00:53:29 2009 @@ -175,7 +175,7 @@ && string_equal(INTERP, encoding, CONST_STRING(INTERP, "utf8")) == 0) new_string = string_make(INTERP, "", 0, "unicode", 0); else - new_string = Parrot_str_new_from_cstring(INTERP, "", 0); + new_string = Parrot_str_new(INTERP, "", 0); SET_ATTR_stringhandle(INTERP, SELF, new_string); } Modified: branches/pdd28str_part2/src/string/api.c ============================================================================== --- branches/pdd28str_part2/src/string/api.c (original) +++ branches/pdd28str_part2/src/string/api.c Thu Jan 29 00:53:29 2009 @@ -607,7 +607,7 @@ /* -=item C<STRING * Parrot_str_new_from_cstring> +=item C<STRING * Parrot_str_new> Make a Parrot string from a specified C string. @@ -620,9 +620,9 @@ PARROT_MALLOC PARROT_CANNOT_RETURN_NULL STRING * -Parrot_str_new_from_cstring(PARROT_INTERP, ARGIN_NULLOK(const char * const buffer), const UINTVAL len) +Parrot_str_new(PARROT_INTERP, ARGIN_NULLOK(const char * const buffer), const UINTVAL len) { - ASSERT_ARGS(Parrot_str_new_from_cstring) + ASSERT_ARGS(Parrot_str_new) return string_make_direct(interp, buffer, len ? len : buffer ? strlen(buffer) : 0, PARROT_DEFAULT_ENCODING, PARROT_DEFAULT_CHARSET, Modified: branches/pdd28str_part2/src/sub.c ============================================================================== --- branches/pdd28str_part2/src/sub.c (original) +++ branches/pdd28str_part2/src/sub.c Thu Jan 29 00:53:29 2009 @@ -418,9 +418,9 @@ /* is the current sub of the specified context valid? */ if (PMC_IS_NULL(ctx->current_sub)) { - info->subname = Parrot_str_new_from_cstring(interp, "???", 3); + info->subname = Parrot_str_new(interp, "???", 3); info->nsname = info->subname; - info->fullname = Parrot_str_new_from_cstring(interp, "??? :: ???", 10); + info->fullname = Parrot_str_new(interp, "??? :: ???", 10); info->pc = -1; return 0; } Modified: branches/pdd28str_part2/t/src/extend.t ============================================================================== --- branches/pdd28str_part2/t/src/extend.t (original) +++ branches/pdd28str_part2/t/src/extend.t Thu Jan 29 00:53:29 2009 @@ -457,7 +457,7 @@ arg = pmc_new(interp, enum_class_String); Parrot_PMC_set_string_native(interp, arg, - Parrot_str_new_from_cstring(interp, "hello ", 0)); + Parrot_str_new(interp, "hello ", 0)); Parrot_call_sub(interp, sub, "vP", arg); Parrot_eprintf(interp, "back\\n"); Modified: branches/pdd28str_part2/tools/build/nativecall.pl ============================================================================== --- branches/pdd28str_part2/tools/build/nativecall.pl (original) +++ branches/pdd28str_part2/tools/build/nativecall.pl Thu Jan 29 00:53:29 2009 @@ -53,7 +53,7 @@ d => { as_proto => "double", sig_char => "N" }, t => { as_proto => "char *", other_decl => "STRING *final_destination;", - ret_assign => "final_destination = Parrot_str_new_from_cstring(interp, return_data, 0);\n set_nci_S(interp, &st, final_destination);", + ret_assign => "final_destination = Parrot_str_new(interp, return_data, 0);\n set_nci_S(interp, &st, final_destination);", sig_char => "S" }, v => { as_proto => "void", return_type => "void *", Modified: branches/pdd28str_part2/tools/dev/pbc_to_exe_gen.pl ============================================================================== --- branches/pdd28str_part2/tools/dev/pbc_to_exe_gen.pl (original) +++ branches/pdd28str_part2/tools/dev/pbc_to_exe_gen.pl Thu Jan 29 00:53:29 2009 @@ -257,7 +257,7 @@ if (!interp) return 1; - Parrot_set_executable_name(interp, Parrot_str_new_from_cstring(interp, argv[0], 0)); + Parrot_set_executable_name(interp, Parrot_str_new(interp, argv[0], 0)); Parrot_set_flag(interp, PARROT_DESTROY_FLAG); pf = PackFile_new(interp, 0);