G
Guillaume Marcais
I have the following C prototype:
int auth(char *user, char *passwd, char **msgp);
I pass user and passwd, and I get in response 0 or 1 for success or
failure and a message in *msgp.
How can i call this function from Ruby using Ruby/DL? So far I did the
following:
<code>
module Auth
extend DL::Importable
dlload "./auth.so"
extern "int auth(char *, char *, char **)"
end
msgp = [0].pack('L').to_ptr
r = Tenant2Auth.public_tenant2_auth_pap_auth("coucou", "titi", msgp)
</code>
I get the correct result in 'r'. But how do I get access to the string
in *msgp?
I guess I don't yet have a good grasp on pointer dereferencing with
Ruby/DL.
Anyone?
Guillaume.
int auth(char *user, char *passwd, char **msgp);
I pass user and passwd, and I get in response 0 or 1 for success or
failure and a message in *msgp.
How can i call this function from Ruby using Ruby/DL? So far I did the
following:
<code>
module Auth
extend DL::Importable
dlload "./auth.so"
extern "int auth(char *, char *, char **)"
end
msgp = [0].pack('L').to_ptr
r = Tenant2Auth.public_tenant2_auth_pap_auth("coucou", "titi", msgp)
</code>
I get the correct result in 'r'. But how do I get access to the string
in *msgp?
I guess I don't yet have a good grasp on pointer dereferencing with
Ruby/DL.
Anyone?
Guillaume.