[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; ; ) |
Hello
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 *"
everywhere.
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
function:
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.
Thanks
--
Marek Janukowicz
- Interfacing with C questions,
Marek Janukowicz <=