bruno bb
bruno bb

Reputation: 152

Which Smalltalk object should be passed to a C function expecting const char*

I want to call the following C function:
int ssh_userauth_password (ssh_session session, const char * username, const char * password)

But regular Smalltalk strings are not working:
library ssh_login: session userAuth: nil password: 'myPwd'.

session is a pointer that i already have and works ok.
But const char * are not mapped to normal string. Is there any class to map this ? Also i tried with CPointer and asByteArray but both fail.

Upvotes: 3

Views: 70

Answers (1)

Karsten
Karsten

Reputation: 2433

You need to pass a CPointer object. Easiest way to do that is via 'yay' gcCopyCStringToHeap. Alternatively there‘re variations like gcCopyUnicodeStringToHeap.

Upvotes: 4

Related Questions