Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 10th, 2012  |  syntax: None  |  size: 0.52 KB  |  hits: 9  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Perl XS and C   passing pointer to buffer
  2. $return_data = $obj->readPath( $path );
  3.        
  4. int readPath(const char* path, char* &buffer, bool flag=true);
  5.        
  6. void
  7. readPath(SV* sv_path)
  8.    PPCODE:
  9.       {
  10.          STRLEN len;
  11.          char*  path   = SvPVbyte(sv_path, len);
  12.          char*  buffer = NULL;
  13.          SV*    rv     = NULL;
  14.  
  15.          if (!readPath(path, buffer, 0))
  16.             XSRETURN_UNDEF;
  17.  
  18.          rv = newSVpv(buffer, 0);
  19.          free(buffer);
  20.  
  21.          ST(0) = sv_2mortal(rv);
  22.          XSRETURN(1);
  23.       }