Hello,

I have a string in C which I need to pass to a Perl subroutine. Perl would
process this string and return a number of strings back as an array. I'm
not able to retrieve these strings from the perl stack from within my C
program.

The wrapper function looks like:

static void GetMultipleMessages ()
{
   dSP;
   ENTER;
   SAVETMPS;
   numOBRs = call_argv ("generateMultipleOBR", G_ARRAY, my_args);
   SPAGAIN;

   for (counter = 0; counter < numOBRs; counter++)
   {
      returnMsgs[counter] = POPs;
   }

   PUTBACK;
   FREETMPS;
   LEAVE;
}

Please note that "my_args" contains the string being passed to Perl
Subroutine, "generateMultipleOBR". Also, "returnMsgs" is just an array of
C strings, char *[].

I'm getting an error message at the "POPs" point. I know I'm missing
something here but I dont' know what it is and definitely don't know how
to fix it.

Can someone please help me out here.

Thanks a bundle,
Salman

Reply via email to