[Vala] Delegate function: error with readline
- From: Jerome Guery <jerome guery gmail com>
- To: vala-list gnome org
- Subject: [Vala] Delegate function: error with readline
- Date: Wed, 10 Aug 2011 13:34:31 +0200
Hye,
I'm playing with the readline binding and the GLib mainloop:
-----------------------
using GLib;
static MainLoop loop;
void parse_line (string? line_read) {
if (line_read == null) {
Readline.callback_handler_remove ();
loop.quit ();
return;
}
stdout.printf (@"$line_read\n");
}
bool io_read_event (IOChannel source, IOCondition cond)
{
if (cond == IOCondition.IN) {
Readline.callback_read_char();
return true;
}
warning ("io_read_event unable to handle IOCondition than IOCondition.IN");
return false;
}
void main () {
loop = new MainLoop ();
var io_stdin = new IOChannel.unix_new (stdin.fileno());
io_stdin.add_watch (IOCondition.IN, io_read_event);
Readline.VcpFunc func = parse_line;
Readline.callback_handler_install ("-> ", func);
loop.run ();
stdout.printf ("\nGoodbye!\n");
}
-----------------------
I have a problem using the delegate VcpFunc.
With the correction of the bug 656146 (thanks to Luca):
user localhost:/tmp$ valac main.vala --pkg gio-2.0 --pkg readline -X -lreadline
/tmp/main.vala.c: In function ‘_vala_main’:
/tmp/main.vala.c:102:2: error: lvalue required as left operand of assignment
error: cc exited with status 256
Compilation failed: 1 error(s), 0 warning(s)
Replacing the lines:
Readline.VcpFunc func = parse_line;
Readline.callback_handler_install ("-> ", func);
with:
Readline.callback_handler_install ("-> ", parse_line);
works fine.
Did I misunderstand delegation or is there a bug here?
--
Jérôme
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]