[vala] glib-2.0: Add FileStream.read_line method
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Subject: [vala] glib-2.0: Add FileStream.read_line method
- Date: Mon, 27 Jul 2009 19:19:50 +0000 (UTC)
commit 850135b3698a2896432fe455a0d4631f53e6b3f4
Author: Jürg Billeter <j bitron ch>
Date: Mon Jul 27 21:18:31 2009 +0200
glib-2.0: Add FileStream.read_line method
Based on patch by Frederik and Nicolas Joseph, fixes bug 582178.
vapi/glib-2.0.vapi | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi
index bf93095..2d4c1a6 100644
--- a/vapi/glib-2.0.vapi
+++ b/vapi/glib-2.0.vapi
@@ -2373,6 +2373,9 @@ namespace GLib {
[Compact]
[CCode (cname = "FILE", free_function = "fclose", cheader_filename = "stdio.h")]
public class FileStream {
+ [CCode (cname = "EOF", cheader_filename = "stdio.h")]
+ public const int EOF;
+
[CCode (cname = "fopen")]
public static FileStream? open (string path, string mode);
[CCode (cname = "fdopen")]
@@ -2406,6 +2409,21 @@ namespace GLib {
public int error ();
[CCode (cname = "clearerr")]
public void clearerr ();
+
+ public string? read_line () {
+ int c;
+ StringBuilder ret = null;
+ while ((c = getc ()) != EOF) {
+ if (ret == null) {
+ ret = new StringBuilder ();
+ }
+ if (c == '\n') {
+ break;
+ }
+ ret.append_c ((char) c);
+ }
+ return ret == null ? null : ret.str;
+ }
}
[CCode (lower_case_cprefix = "g_file_", cheader_filename = "glib/gstdio.h")]
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]