Alien-SVN

 view release on metacpan or  search on metacpan

src/subversion/subversion/bindings/swig/include/svn_string.swg  view on Meta::CPAN

        $1 = NULL;
    }
}
#endif
#ifdef SWIGRUBY
%typemap(in) const svn_string_t * (svn_string_t value)
{
  if (NIL_P($input)) {
    $1 = NULL;
  } else {
    value.data = StringValuePtr($input);
    value.len = RSTRING_LEN($input);
    $1 = &value;
  }
}
#endif

/* when storing an svn_string_t* into a structure, we must allocate the
   svn_string_t structure on the heap. */
#ifdef SWIGPYTHON
%typemap(memberin) const svn_string_t * {
    $1 = svn_string_dup($input, _global_pool);
}
#endif
#ifdef SWIGPERL
%typemap(memberin) const svn_string_t * {
    $1 = svn_string_dup($input, _global_pool);
}
#endif
#ifdef SWIGRUBY
%typemap(memberin) const svn_string_t * {
    $1 = svn_string_dup($input, _global_pool);
}
#endif

#ifdef SWIGPYTHON
%typemap(out) svn_string_t * {
    $result = PyString_FromStringAndSize($1->data, $1->len);
}
#endif
#ifdef SWIGPERL
%typemap(out) svn_string_t * {
    $result = sv_2mortal(newSVpv($1->data, $1->len));
    ++argvi;
}
#endif
#ifdef SWIGRUBY
%typemap(out) svn_string_t * {
  if ($1) {
    $result = rb_str_new($1->data, $1->len);
  } else {
    $result = Qnil;
  }
}
#endif

/* -----------------------------------------------------------------------
   define a way to return a 'const char *'
*/
#ifdef SWIGPYTHON
%typemap(argout) const char **OUTPUT {
    PyObject *s;
    if (*$1 == NULL) {
        Py_INCREF(Py_None);
        s = Py_None;
    }
    else {
        s = PyString_FromString(*$1);
        if (s == NULL)
            SWIG_fail;
    }
    %append_output(s);
}
#endif

#ifdef SWIGPERL
%typemap(argout) const char **OUTPUT {
  if (*$1 == NULL) {
    %append_output(&PL_sv_undef);
  } else {
    %append_output(sv_2mortal(newSVpv(*$1, 0)));
  }
}
#endif

#ifdef SWIGRUBY
%typemap(argout) const char **OUTPUT
{
  if (*$1) {
    %append_output(rb_str_new2(*$1));
  } else {
    %append_output(Qnil);
  }
}
#endif

/* svn_wc_get_ancestry() lacks a 'const' */
%apply const char **OUTPUT { const char **, char **url };



( run in 0.508 second using v1.01-cache-2.11-cpan-ceb78f64989 )