class CXXFilt::Demangler

Attributes

doc[R]
name[R]

Public Instance Methods

demangle(p1) click to toggle source
static VALUE cxxfilt_demangle_m_demangle(VALUE self, VALUE name) {
  const struct demangler_engine *demangler;
  Data_Get_Struct(self, const struct demangler_engine, demangler);

  cplus_demangle_set_style(demangler->demangling_style);
  char *result;
  result = cplus_demangle(StringValueCStr(name), DMGL_PARAMS | DMGL_ANSI | DMGL_VERBOSE);
  if(result == NULL) {
    return Qnil;
  }
  VALUE v_result = rb_str_new_cstr(result);
  free(result);
  return v_result;
}