[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Interfacing with C questions

From: Marek Janukowicz
Subject: Interfacing with C questions
Date: Fri, 4 Feb 2011 01:01:53 +0100
User-agent: KMail/1.13.3 (Linux/2.6.32-gentoo-r7; KDE/4.5.2; x86_64; ; )


1. How is C_SIZE_T type useful? It doesn't contain any methods to convert 
to/from Sather types, so when I need to create a size_t variable with some 
specific value from Sather side I can't use C_SIZE_T anyway.

2. Why does STR::create_from_c_string take EXT_OB and not C_CHAR_PTR as the 
argument? This makes me use EXT_OB as return type for my external class 
methods, which feels somewhat too generic when I know I'm returning "char *" 

3. I saw some code in base library (eg. in SOCKET class) that just declares 
external methods with Sather-typed arguments (STR, INT) and then those methods 
just have int or char * on C side. Is this the right approach to take instead 
of using eg. C_INT and other wrapped C types?

4. I'm implementing a wrapper for libpcre (because builtin REGEXP class only 
handles POSIX regular expressions, which is way too little for my needs) and I 
encountered a situation where my fresh Sather skills are lacking. There is a C 

  int pcre_get_substring_list(const char *subject, int *ovector, int 
stringcount, const char ***listptr);

where listptr returns an array of strings. How can I wrap it to get ARRAY{STR} 
on Sather side? I guess I can't just convert it directly. Is there any well-
defined way to call Sather methods on C side (this way I could create STRs and 
ARRAY in my C code, which would be convenient due to some cleanup I need to 
perform there)?

Even if you don't know full answers, but could shed some light on the subject, 
please do not hesitate to do that.

Marek Janukowicz

reply via email to

[Prev in Thread] Current Thread [Next in Thread]