Re: [Vala] [Genie] array slices
- From: jamie <jamie mccrack googlemail com>
- To: Arc Riley <arcriley gmail com>
- Cc: vala-list <vala-list gnome org>
- Subject: Re: [Vala] [Genie] array slices
- Date: Sat, 22 May 2010 11:46:38 -0400
On Sat, 2010-05-22 at 06:38 -0400, Arc Riley wrote:
I'm migrating some C code to Genie and ran into a troubling limitation; the
following line of code does not seem to have an equivalent in Genie:
session->wbuff = g_string_append_len(session->wbuff, str+sent,
len-sent);
What this means is "when you can't send all the data you'd like, append the
rest to our (known to be empty) GString buffer".
The key part here is "the rest" - getting a slice of an array, such as C's
array + value syntax (Incompatible operand) or Python's array[start:] syntax
(error: syntax error, expected `]' but got `:' with previous identifier).
We can't use Genie strings for the buffer because UTF8 length != byte
length.
_______________________________________________
You should be using the StringBuilder class for this
public unowned StringBuilder append_len (string val, ssize_t len);
(StringBuilder is a GString)
Also string class has a size method which uses strlen - it would
probably be clearer if it was called ByteLength
See http://git.gnome.org/browse/vala/tree/vapi/glib-2.0.vapi
If there are still problems let me know - I will be bug fixing genie
tomorrow
jamie
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]