vala r2271 - in trunk: . vapi vapi/packages/unique-1.0



Author: juergbi
Date: Sun Jan  4 17:54:44 2009
New Revision: 2271
URL: http://svn.gnome.org/viewvc/vala?rev=2271&view=rev

Log:
2009-01-04  JÃrg Billeter  <j bitron ch>

	* vapi/curses.vapi:
	* vapi/enchant.vapi:
	* vapi/gnome-keyring-1.vapi:
	* vapi/gobject-2.0.vapi:
	* vapi/goocanvas.vapi:
	* vapi/gsl.vapi:
	* vapi/hildon-1.vapi:
	* vapi/libftdi.vapi:
	* vapi/libpanelapplet-2.0.vapi:
	* vapi/libusb.vapi:
	* vapi/libxml-2.0.vapi:
	* vapi/packages/unique-1.0/:
	* vapi/sdl-gfx.vapi:
	* vapi/sdl-mixer.vapi:
	* vapi/sdl-net.vapi:
	* vapi/sdl-ttf.vapi:
	* vapi/sqlite3.vapi:
	* vapi/tiff.vapi:
	* vapi/unique-1.0.vapi:

	Array length attribute fixes


Modified:
   trunk/ChangeLog
   trunk/vapi/curses.vapi
   trunk/vapi/enchant.vapi
   trunk/vapi/gnome-keyring-1.vapi
   trunk/vapi/gobject-2.0.vapi
   trunk/vapi/goocanvas.vapi
   trunk/vapi/gsl.vapi
   trunk/vapi/hildon-1.vapi
   trunk/vapi/libftdi.vapi
   trunk/vapi/libpanelapplet-2.0.vapi
   trunk/vapi/libusb.vapi
   trunk/vapi/libxml-2.0.vapi
   trunk/vapi/packages/unique-1.0/unique-1.0.metadata
   trunk/vapi/sdl-gfx.vapi
   trunk/vapi/sdl-mixer.vapi
   trunk/vapi/sdl-net.vapi
   trunk/vapi/sdl-ttf.vapi
   trunk/vapi/sqlite3.vapi
   trunk/vapi/tiff.vapi
   trunk/vapi/unique-1.0.vapi

Modified: trunk/vapi/curses.vapi
==============================================================================
--- trunk/vapi/curses.vapi	(original)
+++ trunk/vapi/curses.vapi	Sun Jan  4 17:54:44 2009
@@ -79,11 +79,9 @@
 		[CCode (cname = "mvwaddch")]
 		public int mvaddch(int y, int x, ulong ch);
 		[CCode (cname = "mvwaddchnstr")]
-		[NoArrayLength]
-		public int mvaddchnstr(int y, int x, ulong[] chstr, int n);
+		public int mvaddchnstr(int y, int x, [CCode (array_length = false)] ulong[] chstr, int n);
 		[CCode (cname = "mvwaddchstr")]
-		[NoArrayLength]
-		public int mvaddchstr(int y, int x, ulong[] chstr);
+		public int mvaddchstr(int y, int x, [CCode (array_length = false)] ulong[] chstr);
 		[CCode (cname = "mvwaddnstr")]
 		public int mvaddnstr(int y, int x, string str, int n);
 		[CCode (cname = "mvwaddstr")]
@@ -104,11 +102,9 @@
 		[CCode (cname = "mvwinch")]
 		public ulong mvinch(int y, int x);
 		[CCode (cname = "mvwinchnstr")]
-		[NoArrayLength]
-		public int mvinchnstr(int y, int x, ulong[] chstr, int n);
+		public int mvinchnstr(int y, int x, [CCode (array_length = false)] ulong[] chstr, int n);
 		[CCode (cname = "mvwinchstr")]
-		[NoArrayLength]
-		public int mvinchstr(int y, int x, ulong[] chstr);
+		public int mvinchstr(int y, int x, [CCode (array_length = false)] ulong[] chstr);
 		[CCode (cname = "mvwinnstr")]
 		public int mvinnstr(int y, int x, string str, int n);
 		[CCode (cname = "mvwinsch")]
@@ -145,10 +141,8 @@
 		public int untouchwin();
 		[CCode (cname = "waddch")]
 		public int addch(ulong ch);
-		[NoArrayLength]
-		public int waddchnstr(ulong[] chstr, int n);
-		[NoArrayLength]
-		public int waddchstr(ulong[] chstr);
+		public int waddchnstr([CCode (array_length = false)] ulong[] chstr, int n);
+		public int waddchstr([CCode (array_length = false)] ulong[] chstr);
 		public int waddnstr(string str, int n);
 		[CCode (cname = "waddstr")]
 		public int addstr(string str);
@@ -203,11 +197,9 @@
 		[CCode (cname = "winch")]
 		public ulong inch();
 		[CCode (cname = "winchnstr")]
-		[NoArrayLength]
-		public int inchnstr(ulong[] chstr, int n);
+		public int inchnstr([CCode (array_length = false)] ulong[] chstr, int n);
 		[CCode (cname = "winchstr")]
-		[NoArrayLength]
-		public int inchstr(ulong[] chstr);
+		public int inchstr([CCode (array_length = false)] ulong[] chstr);
 		[CCode (cname = "winnstr")]
 		public int innstr(string str, int n);
 		[CCode (cname = "winsch")]
@@ -278,10 +270,8 @@
 	}
 
 	public int addch(ulong ch);
-	[NoArrayLength]
-	public int addchnstr(ulong[] chstr, int n);
-	[NoArrayLength]
-	public int addchstr(ulong[] chstr);
+	public int addchnstr([CCode (array_length = false)] ulong[] chstr, int n);
+	public int addchstr([CCode (array_length = false)] ulong[] chstr);
 	public int addnstr(string str, int n);
 	public int addstr(string str);
 	public int attroff(ulong attr);
@@ -329,10 +319,8 @@
 	public bool has_il();
 	public int hline(ulong ch, int n);
 	public ulong inch();
-	[NoArrayLength]
-	public int inchnstr(ulong[] chstr, int n);
-	[NoArrayLength]
-	public int inchstr(ulong[] chstr);
+	public int inchnstr([CCode (array_length = false)] ulong[] chstr, int n);
+	public int inchstr([CCode (array_length = false)] ulong[] chstr);
 	public weak Window initscr();
 	public int init_color(short color, short r, short g, short b);
 	public int init_pair(short pair, Color f, Color b);
@@ -349,10 +337,8 @@
 	public string ulongname();
 	public int move(int y, int x);
 	public int mvaddch(int y, int x, ulong ch);
-	[NoArrayLength]
-	public int mvaddchnstr(int y, int x, ulong[] chstr, int n);
-	[NoArrayLength]
-	public int mvaddchstr(int y, int x, ulong[] chstr);
+	public int mvaddchnstr(int y, int x, [CCode (array_length = false)] ulong[] chstr, int n);
+	public int mvaddchstr(int y, int x, [CCode (array_length = false)] ulong[] chstr);
 	public int mvaddnstr(int y, int x, string str, int n);
 	public int mvaddstr(int y, int x, string str);
 	public int mvchgat(int y, int x, int n, ulong attr, short color);
@@ -363,10 +349,8 @@
 	public int mvgetstr(int y, int x, string str);
 	public int mvhline(int y, int x, ulong ch, int n);
 	public ulong mvinch(int y, int x);
-	[NoArrayLength]
-	public int mvinchnstr(int y, int x, ulong[] chstr, int n);
-	[NoArrayLength]
-	public int mvinchstr(int y, int x, ulong[] chstr);
+	public int mvinchnstr(int y, int x, [CCode (array_length = false)] ulong[] chstr, int n);
+	public int mvinchstr(int y, int x, [CCode (array_length = false)] ulong[] chstr);
 	public int mvinnstr(int y, int x, string str, int n);
 	public int mvinsch(int y, int x, ulong ch);
 	public int mvinsnstr(int y, int x, string str, int n);

Modified: trunk/vapi/enchant.vapi
==============================================================================
--- trunk/vapi/enchant.vapi	(original)
+++ trunk/vapi/enchant.vapi	Sun Jan  4 17:54:44 2009
@@ -23,14 +23,12 @@
 	public class Dict {
 		public int check (string word, long len = -1);
 		public weak string[] suggest (string word, long len = -1);	
-		[NoArrayLength ()]
-		public void free_string_list (string[] string_list); 	
+		public void free_string_list ([CCode (array_length = false)] string[] string_list); 	
 		public void add_to_session (string word, long len = -1);
 		public int is_in_session (string word, long len = -1);
 		public void store_replacement ( string mis, long mis_len, string cor, long cor_len);
 		public void add_to_pwl ( string word, long len = -1);
 		public void describe (DictDescribeFn fn);
-		[NoArrayLength ()]
 		public weak string get_error ();
 	}
 }

Modified: trunk/vapi/gnome-keyring-1.vapi
==============================================================================
--- trunk/vapi/gnome-keyring-1.vapi	(original)
+++ trunk/vapi/gnome-keyring-1.vapi	Sun Jan  4 17:54:44 2009
@@ -18,7 +18,7 @@
 	}
 	[CCode (ref_function = "gnome_keyring_attribute_list_ref", unref_function = "gnome_keyring_attribute_list_unref", cheader_filename = "gnome-keyring.h")]
 	public class AttributeList {
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public GnomeKeyring.Attribute[] data;
 		public uint len;
 		public void append_string (string name, string value);

Modified: trunk/vapi/gobject-2.0.vapi
==============================================================================
--- trunk/vapi/gobject-2.0.vapi	(original)
+++ trunk/vapi/gobject-2.0.vapi	Sun Jan  4 17:54:44 2009
@@ -385,8 +385,7 @@
 		public static void stop_emission (void* instance, uint signal_id, Quark detail);
 		public static void stop_emission_by_name (void* instance, string detailed_signal);
 		public static void override_class_closure (uint signal_id, Type instance_type, Closure class_closure);
-		[NoArrayLength]
-		public static void chain_from_overridden (Value[] instance_and_params, out Value return_value);
+		public static void chain_from_overridden ([CCode (array_length = false)] Value[] instance_and_params, out Value return_value);
 		public static ulong add_emission_hook (uint signal_id, Quark detail, SignalEmissionHook hook_func, DestroyNotify? data_destroy);
 		public static void remove_emission_hook (uint signal_id, ulong hook_id);
 		public static bool parse_name (string detailed_signal, Type itype, out uint signal_id, out Quark detail, bool force_detail_quark);
@@ -420,7 +419,7 @@
 		public SignalFlags signal_flags;
 		public Type return_type;
 		public uint n_params;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public weak Type[] param_types;
 	}
 

Modified: trunk/vapi/goocanvas.vapi
==============================================================================
--- trunk/vapi/goocanvas.vapi	(original)
+++ trunk/vapi/goocanvas.vapi	Sun Jan  4 17:54:44 2009
@@ -1,4 +1,4 @@
-/* goocanvas.vapi generated by lt-vapigen, do not modify. */
+/* goocanvas.vapi generated by vapigen, do not modify. */
 
 [CCode (cprefix = "Goo", lower_case_cprefix = "goo_")]
 namespace Goo {
@@ -37,30 +37,30 @@
 		public void convert_from_pixels (double x, double y);
 		public void convert_to_item_space (Goo.CanvasItem item, double x, double y);
 		public void convert_to_pixels (double x, double y);
-		public weak Cairo.Context create_cairo_context ();
-		public virtual weak Goo.CanvasItem create_item (Goo.CanvasItemModel model);
+		public unowned Cairo.Context create_cairo_context ();
+		public virtual unowned Goo.CanvasItem create_item (Goo.CanvasItemModel model);
 		public static void create_path (GLib.Array commands, Cairo.Context cr);
 		public void get_bounds (double left, double top, double right, double bottom);
 		public double get_default_line_width ();
-		public weak Goo.CanvasItem get_item (Goo.CanvasItemModel model);
-		public weak Goo.CanvasItem get_item_at (double x, double y, bool is_pointer_event);
-		public weak GLib.List get_items_at (double x, double y, bool is_pointer_event);
-		public weak GLib.List get_items_in_area (Goo.CanvasBounds area, bool inside_area, bool allow_overlaps, bool include_containers);
-		public weak Goo.CanvasItem get_root_item ();
-		public weak Goo.CanvasItemModel get_root_item_model ();
+		public unowned Goo.CanvasItem get_item (Goo.CanvasItemModel model);
+		public unowned Goo.CanvasItem get_item_at (double x, double y, bool is_pointer_event);
+		public unowned GLib.List get_items_at (double x, double y, bool is_pointer_event);
+		public unowned GLib.List get_items_in_area (Goo.CanvasBounds area, bool inside_area, bool allow_overlaps, bool include_containers);
+		public unowned Goo.CanvasItem get_root_item ();
+		public unowned Goo.CanvasItemModel get_root_item_model ();
 		public double get_scale ();
 		public void grab_focus (Goo.CanvasItem item);
-		public Gdk.GrabStatus keyboard_grab (Goo.CanvasItem item, bool owner_events, uint time);
-		public void keyboard_ungrab (Goo.CanvasItem item, uint time);
+		public Gdk.GrabStatus keyboard_grab (Goo.CanvasItem item, bool owner_events, uint32 time);
+		public void keyboard_ungrab (Goo.CanvasItem item, uint32 time);
 		public static void marshal_BOOLEAN__BOXED (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
 		public static void marshal_BOOLEAN__OBJECT_BOXED (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
 		public static void marshal_VOID__INT_INT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
 		public static void marshal_VOID__OBJECT_OBJECT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
 		[CCode (type = "GtkWidget*", has_construct_function = false)]
 		public Canvas ();
-		public static weak GLib.Array parse_path_data (string path_data);
-		public Gdk.GrabStatus pointer_grab (Goo.CanvasItem item, Gdk.EventMask event_mask, Gdk.Cursor cursor, uint time);
-		public void pointer_ungrab (Goo.CanvasItem item, uint time);
+		public static unowned GLib.Array parse_path_data (string path_data);
+		public Gdk.GrabStatus pointer_grab (Goo.CanvasItem item, Gdk.EventMask event_mask, Gdk.Cursor cursor, uint32 time);
+		public void pointer_ungrab (Goo.CanvasItem item, uint32 time);
 		public void register_widget_item (Goo.CanvasWidget witem);
 		public void render (Cairo.Context cr, Goo.CanvasBounds bounds, double scale);
 		public void request_redraw (Goo.CanvasBounds bounds);
@@ -113,8 +113,7 @@
 	public class CanvasEllipse : Goo.CanvasItemSimple, Goo.CanvasItem {
 		public Goo.CanvasEllipseData ellipse_data;
 		[CCode (cname = "goo_canvas_ellipse_new")]
-		public static weak Goo.CanvasEllipse create (Goo.CanvasItem? parent, double center_x, double center_y, double radius_x, double radius_y, ...);
-		public CanvasEllipse ();
+		public static unowned Goo.CanvasEllipse create (Goo.CanvasItem? parent, double center_x, double center_y, double radius_x, double radius_y, ...);
 		[NoAccessorMethod]
 		public double center_x { get; set; }
 		[NoAccessorMethod]
@@ -128,8 +127,7 @@
 	public class CanvasEllipseModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
 		public Goo.CanvasEllipseData ellipse_data;
 		[CCode (cname = "goo_canvas_ellipse_model_new")]
-		public static weak Goo.CanvasEllipseModel create (Goo.CanvasItemModel? parent, double center_x, double center_y, double radius_x, double radius_y, ...);
-		public CanvasEllipseModel ();
+		public static unowned Goo.CanvasEllipseModel create (Goo.CanvasItemModel? parent, double center_x, double center_y, double radius_x, double radius_y, ...);
 		[NoAccessorMethod]
 		public double center_x { get; set; }
 		[NoAccessorMethod]
@@ -143,22 +141,19 @@
 	public class CanvasGroup : Goo.CanvasItemSimple, Goo.CanvasItem {
 		public weak GLib.PtrArray items;
 		[CCode (cname = "goo_canvas_group_new")]
-		public static weak Goo.CanvasGroup create (Goo.CanvasItem? parent, ...);
-		public CanvasGroup ();
+		public static unowned Goo.CanvasGroup create (Goo.CanvasItem? parent, ...);
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasGroupModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
 		public weak GLib.PtrArray children;
 		[CCode (cname = "goo_canvas_group_model_new")]
-		public static weak Goo.CanvasGroupModel create (Goo.CanvasItemModel? parent, ...);
-		public CanvasGroupModel ();
+		public static unowned Goo.CanvasGroupModel create (Goo.CanvasItemModel? parent, ...);
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasImage : Goo.CanvasItemSimple, Goo.CanvasItem {
 		public Goo.CanvasImageData image_data;
 		[CCode (cname = "goo_image_group_new")]
-		public static weak Goo.CanvasImage create (Goo.CanvasItem? parent, Gdk.Pixbuf pixbuf, double x, double y, ...);
-		public CanvasImage ();
+		public static unowned Goo.CanvasImage create (Goo.CanvasItem? parent, Gdk.Pixbuf pixbuf, double x, double y, ...);
 		[NoAccessorMethod]
 		public double height { get; set; }
 		[NoAccessorMethod]
@@ -176,8 +171,7 @@
 	public class CanvasImageModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
 		public Goo.CanvasImageData image_data;
 		[CCode (cname = "goo_canvas_image_model_new")]
-		public static weak Goo.CanvasImageModel create (Goo.CanvasItemModel? parent, Gdk.Pixbuf pixbuf, double x, double y, ...);
-		public CanvasImageModel ();
+		public static unowned Goo.CanvasImageModel create (Goo.CanvasItemModel? parent, Gdk.Pixbuf pixbuf, double x, double y, ...);
 		[NoAccessorMethod]
 		public double height { get; set; }
 		[NoAccessorMethod]
@@ -324,8 +318,7 @@
 	public class CanvasPath : Goo.CanvasItemSimple, Goo.CanvasItem {
 		public Goo.CanvasPathData path_data;
 		[CCode (cname = "goo_canvas_path_new")]
-		public static weak Goo.CanvasPath create (Goo.CanvasItem? parent, string path_data, ...);
-		public CanvasPath ();
+		public static unowned Goo.CanvasPath create (Goo.CanvasItem? parent, string path_data, ...);
 		[NoAccessorMethod]
 		public string data { set; }
 	}
@@ -333,8 +326,7 @@
 	public class CanvasPathModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
 		public Goo.CanvasPathData path_data;
 		[CCode (cname = "goo_canvas_path_model_new")]
-		public static weak Goo.CanvasPathModel create (Goo.CanvasItemModel? parent, string path_data, ...);
-		public CanvasPathModel ();
+		public static unowned Goo.CanvasPathModel create (Goo.CanvasItemModel? parent, string path_data, ...);
 		[NoAccessorMethod]
 		public string data { set; }
 	}
@@ -351,12 +343,11 @@
 	public class CanvasPolyline : Goo.CanvasItemSimple, Goo.CanvasItem {
 		public Goo.CanvasPolylineData polyline_data;
 		[CCode (cname = "goo_canvas_polyline_new")]
-		public static weak Goo.CanvasPolyline create (Goo.CanvasItem? parent, bool close_path, int num_points, ...);
+		public static unowned Goo.CanvasPolyline create (Goo.CanvasItem? parent, bool close_path, int num_points, ...);
 		[CCode (cname = "goo_canvas_polyline_new_line")]
-		public static weak Goo.CanvasPolyline create_line (Goo.CanvasItem? parent, double x1, double y1, double x2, double y2, ...);
+		public static unowned Goo.CanvasPolyline create_line (Goo.CanvasItem? parent, double x1, double y1, double x2, double y2, ...);
 		[CCode (type = "GooCanvasItem*", has_construct_function = false)]
 		public CanvasPolyline.line (Goo.CanvasItem parent, double x1, double y1, double x2, double y2);
-		public CanvasPolyline ();
 		[NoAccessorMethod]
 		public double arrow_length { get; set; }
 		[NoAccessorMethod]
@@ -376,12 +367,11 @@
 	public class CanvasPolylineModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
 		public Goo.CanvasPolylineData polyline_data;
 		[CCode (cname = "goo_canvas_polyline_model_new")]
-		public static weak Goo.CanvasPolylineModel create (Goo.CanvasItemModel? parent, bool close_path, int num_points, ...);
+		public static unowned Goo.CanvasPolylineModel create (Goo.CanvasItemModel? parent, bool close_path, int num_points, ...);
 		[CCode (cname = "goo_canvas_polyline_model_new_line")]
-		public static weak Goo.CanvasPolylineModel create_line (Goo.CanvasItemModel? parent, double x1, double y1, double x2, double y2, ...);
+		public static unowned Goo.CanvasPolylineModel create_line (Goo.CanvasItemModel? parent, double x1, double y1, double x2, double y2, ...);
 		[CCode (type = "GooCanvasItemModel*", has_construct_function = false)]
 		public CanvasPolylineModel.line (Goo.CanvasItemModel parent, double x1, double y1, double x2, double y2);
-		public CanvasPolylineModel ();
 		[NoAccessorMethod]
 		public double arrow_length { get; set; }
 		[NoAccessorMethod]
@@ -401,8 +391,7 @@
 	public class CanvasRect : Goo.CanvasItemSimple, Goo.CanvasItem {
 		public Goo.CanvasRectData rect_data;
 		[CCode (cname = "goo_canvas_rect_new")]
-		public static weak Goo.CanvasRect create (Goo.CanvasItem? parent, double x, double y, double width, double height, ...);
-		public CanvasRect ();
+		public static unowned Goo.CanvasRect create (Goo.CanvasItem? parent, double x, double y, double width, double height, ...);
 		[NoAccessorMethod]
 		public double height { get; set; }
 		[NoAccessorMethod]
@@ -420,8 +409,7 @@
 	public class CanvasRectModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
 		public Goo.CanvasRectData rect_data;
 		[CCode (cname = "goo_canvas_rect_model_new")]
-		public static weak Goo.CanvasRectModel create (Goo.CanvasItemModel? parent, double x, double y, double width, double height, ...);
-		public CanvasRectModel ();
+		public static unowned Goo.CanvasRectModel create (Goo.CanvasItemModel? parent, double x, double y, double width, double height, ...);
 		[NoAccessorMethod]
 		public double height { get; set; }
 		[NoAccessorMethod]
@@ -439,8 +427,8 @@
 	public class CanvasStyle : GLib.Object {
 		public weak Goo.CanvasStyle parent;
 		public weak GLib.Array properties;
-		public weak Goo.CanvasStyle copy ();
-		public weak Goo.CanvasStyle get_parent ();
+		public unowned Goo.CanvasStyle copy ();
+		public unowned Goo.CanvasStyle get_parent ();
 		public GLib.Value get_property (GLib.Quark property_id);
 		[CCode (has_construct_function = false)]
 		public CanvasStyle ();
@@ -453,8 +441,7 @@
 	public class CanvasTable : Goo.CanvasGroup, Goo.CanvasItem {
 		public Goo.CanvasTableData table_data;
 		[CCode (cname = "goo_canvas_table_new")]
-		public static weak Goo.CanvasTable create (Goo.CanvasItem? parent, ...);
-		public CanvasTable ();
+		public static unowned Goo.CanvasTable create (Goo.CanvasItem? parent, ...);
 		[NoAccessorMethod]
 		public double column_spacing { get; set; }
 		[NoAccessorMethod]
@@ -472,8 +459,7 @@
 	public class CanvasTableModel : Goo.CanvasGroupModel, Goo.CanvasItemModel {
 		public Goo.CanvasTableData table_data;
 		[CCode (cname = "goo_canvas_table_model_new")]
-		public static weak Goo.CanvasTableModel create (Goo.CanvasItemModel? parent, ...);
-		public CanvasTableModel ();
+		public static unowned Goo.CanvasTableModel create (Goo.CanvasItemModel? parent, ...);
 		[NoAccessorMethod]
 		public double column_spacing { get; set; }
 		[NoAccessorMethod]
@@ -492,8 +478,7 @@
 		public double layout_width;
 		public Goo.CanvasTextData text_data;
 		[CCode (cname = "goo_canvas_text_new")]
-		public static weak Goo.CanvasText create (Goo.CanvasItem? parent, string str, double x, double y, double width, Gtk.AnchorType anchor, ...);
-		public CanvasText ();
+		public static unowned Goo.CanvasText create (Goo.CanvasItem? parent, string str, double x, double y, double width, Gtk.AnchorType anchor, ...);
 		[NoAccessorMethod]
 		public Pango.Alignment alignment { get; set; }
 		[NoAccessorMethod]
@@ -517,8 +502,7 @@
 	public class CanvasTextModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
 		public Goo.CanvasTextData text_data;
 		[CCode (cname = "goo_canvas_text_model_new")]
-		public static weak Goo.CanvasTextModel create (Goo.CanvasItemModel? parent, string str, double x, double y, double width, Gtk.AnchorType anchor, ...);
-		public CanvasTextModel ();
+		public static unowned Goo.CanvasTextModel create (Goo.CanvasItemModel? parent, string str, double x, double y, double width, Gtk.AnchorType anchor, ...);
 		[NoAccessorMethod]
 		public Pango.Alignment alignment { get; set; }
 		[NoAccessorMethod]
@@ -541,8 +525,7 @@
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasWidget : Goo.CanvasItemSimple, Goo.CanvasItem {
 		[CCode (cname = "goo_canvas_widget_new")]
-		public static weak Goo.CanvasWidget create (Goo.CanvasItem? parent, Gtk.Widget widget, double x, double y, double width, double height, ...);
-		public CanvasWidget ();
+		public static unowned Goo.CanvasWidget create (Goo.CanvasItem? parent, Gtk.Widget widget, double x, double y, double width, double height, ...);
 		[NoAccessorMethod]
 		public Gtk.AnchorType anchor { get; set; }
 		[NoAccessorMethod]
@@ -561,26 +544,26 @@
 		public abstract void add_child (Goo.CanvasItem child, int position);
 		public abstract void allocate_area (Cairo.Context cr, Goo.CanvasBounds requested_area, Goo.CanvasBounds allocated_area, double x_offset, double y_offset);
 		public void animate (double x, double y, double scale, double degrees, bool absolute, int duration, int step_time, Goo.CanvasAnimateType type);
-		public static weak GLib.ParamSpec class_find_child_property (GLib.ObjectClass iclass, string property_name);
+		public static unowned GLib.ParamSpec class_find_child_property (GLib.ObjectClass iclass, string property_name);
 		public static void class_install_child_property (GLib.ObjectClass iclass, uint property_id, GLib.ParamSpec pspec);
-		public static weak GLib.ParamSpec class_list_child_properties (GLib.ObjectClass iclass, uint n_properties);
+		public static unowned GLib.ParamSpec class_list_child_properties (GLib.ObjectClass iclass, uint n_properties);
 		public void ensure_updated ();
 		public int find_child (Goo.CanvasItem child);
 		public abstract void get_bounds (Goo.CanvasBounds bounds);
-		public abstract weak Goo.Canvas get_canvas ();
-		public abstract weak Goo.CanvasItem get_child (int child_num);
+		public abstract unowned Goo.Canvas get_canvas ();
+		public abstract unowned Goo.CanvasItem get_child (int child_num);
 		public void get_child_properties (Goo.CanvasItem child);
 		public void get_child_properties_valist (Goo.CanvasItem child, void* var_args);
 		[NoWrapper]
 		public abstract void get_child_property (Goo.CanvasItem child, uint property_id, GLib.Value value, GLib.ParamSpec pspec);
-		public abstract weak GLib.List get_items_at (double x, double y, Cairo.Context cr, bool is_pointer_event, bool parent_is_visible, GLib.List found_items);
-		public abstract weak Goo.CanvasItemModel get_model ();
+		public abstract unowned GLib.List get_items_at (double x, double y, Cairo.Context cr, bool is_pointer_event, bool parent_is_visible, GLib.List found_items);
+		public abstract unowned Goo.CanvasItemModel get_model ();
 		public abstract int get_n_children ();
-		public abstract weak Goo.CanvasItem get_parent ();
+		public abstract unowned Goo.CanvasItem get_parent ();
 		public abstract bool get_requested_area (Cairo.Context cr, Goo.CanvasBounds requested_area);
 		public abstract double get_requested_height (Cairo.Context cr, double width);
 		public void get_simple_transform (out double x, out double y, out double scale, out double rotation);
-		public abstract weak Goo.CanvasStyle get_style ();
+		public abstract unowned Goo.CanvasStyle get_style ();
 		public abstract bool get_transform (Cairo.Matrix transform);
 		public abstract bool get_transform_for_child (Goo.CanvasItem child, Cairo.Matrix transform);
 		public bool is_container ();
@@ -635,21 +618,21 @@
 	public interface CanvasItemModel : GLib.Object {
 		public abstract void add_child (Goo.CanvasItemModel child, int position);
 		public void animate (double x, double y, double scale, double degrees, bool absolute, int duration, int step_time, Goo.CanvasAnimateType type);
-		public static weak GLib.ParamSpec class_find_child_property (GLib.ObjectClass mclass, string property_name);
+		public static unowned GLib.ParamSpec class_find_child_property (GLib.ObjectClass mclass, string property_name);
 		public static void class_install_child_property (GLib.ObjectClass mclass, uint property_id, GLib.ParamSpec pspec);
-		public static weak GLib.ParamSpec class_list_child_properties (GLib.ObjectClass mclass, uint n_properties);
+		public static unowned GLib.ParamSpec class_list_child_properties (GLib.ObjectClass mclass, uint n_properties);
 		[NoWrapper]
-		public abstract weak Goo.CanvasItem create_item (Goo.Canvas canvas);
+		public abstract unowned Goo.CanvasItem create_item (Goo.Canvas canvas);
 		public int find_child (Goo.CanvasItemModel child);
-		public abstract weak Goo.CanvasItemModel get_child (int child_num);
+		public abstract unowned Goo.CanvasItemModel get_child (int child_num);
 		public void get_child_properties (Goo.CanvasItemModel child);
 		public void get_child_properties_valist (Goo.CanvasItemModel child, void* var_args);
 		[NoWrapper]
 		public abstract void get_child_property (Goo.CanvasItemModel child, uint property_id, GLib.Value value, GLib.ParamSpec pspec);
 		public abstract int get_n_children ();
-		public abstract weak Goo.CanvasItemModel get_parent ();
+		public abstract unowned Goo.CanvasItemModel get_parent ();
 		public void get_simple_transform (out double x, out double y, out double scale, out double rotation);
-		public abstract weak Goo.CanvasStyle get_style ();
+		public abstract unowned Goo.CanvasStyle get_style ();
 		public abstract bool get_transform (Cairo.Matrix transform);
 		public bool is_container ();
 		public void lower (Goo.CanvasItemModel below);
@@ -698,14 +681,14 @@
 		public double x2;
 		public double y2;
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_ELLIPSE_DATA", cheader_filename = "goocanvas.h")]
 	public struct CanvasEllipseData {
 		public double center_x;
 		public double center_y;
 		public double radius_x;
 		public double radius_y;
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_IMAGE_DATA", cheader_filename = "goocanvas.h")]
 	public struct CanvasImageData {
 		public weak Cairo.Pattern pattern;
 		public double x;
@@ -713,7 +696,7 @@
 		public double width;
 		public double height;
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_ITEM_SIMPLE_DATA", cheader_filename = "goocanvas.h")]
 	public struct CanvasItemSimpleData {
 		public weak Goo.CanvasStyle style;
 		public Cairo.Matrix transform;
@@ -728,31 +711,31 @@
 		public uint cache_setting;
 		public uint has_tooltip;
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_PATH_COMMAND", cheader_filename = "goocanvas.h")]
 	public struct CanvasPathCommand {
 		public void* simple;
 		public void* curve;
 		public void* arc;
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_PATH_DATA", cheader_filename = "goocanvas.h")]
 	public struct CanvasPathData {
 		public weak GLib.Array path_commands;
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_POLYLINE_ARROW_DATA", cheader_filename = "goocanvas.h")]
 	public struct CanvasPolylineArrowData {
 		public double arrow_width;
 		public double arrow_length;
 		public double arrow_tip_length;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public weak double[] line_start;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public weak double[] line_end;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public weak double[] start_arrow_coords;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public weak double[] end_arrow_coords;
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_POLYLINE_DATA", cheader_filename = "goocanvas.h")]
 	public struct CanvasPolylineData {
 		public double coords;
 		public Goo.CanvasPolylineArrowData arrow_data;
@@ -762,7 +745,7 @@
 		public uint end_arrow;
 		public uint reconfigure_arrows;
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_RECT_DATA", cheader_filename = "goocanvas.h")]
 	public struct CanvasRectData {
 		public double x;
 		public double y;
@@ -771,32 +754,32 @@
 		public double radius_x;
 		public double radius_y;
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_STYLE_PROPERTY", cheader_filename = "goocanvas.h")]
 	public struct CanvasStyleProperty {
 		public GLib.Quark id;
 		public GLib.Value value;
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_TABLE_DATA", cheader_filename = "goocanvas.h")]
 	public struct CanvasTableData {
 		public double width;
 		public double height;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public weak Goo.CanvasTableDimension[] dimensions;
 		public double border_width;
 		public weak GLib.Array children;
 		public Goo.CanvasTableLayoutData layout_data;
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_TABLE_DIMENSION", cheader_filename = "goocanvas.h")]
 	public struct CanvasTableDimension {
 		public int size;
 		public double default_spacing;
 		public double spacings;
 		public uint homogeneous;
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_TABLE_LAYOUT_DATA", cheader_filename = "goocanvas.h")]
 	public struct CanvasTableLayoutData {
 	}
-	[CCode (cheader_filename = "goocanvas.h")]
+	[CCode (type_id = "GOO_TYPE_CANVAS_TEXT_DATA", cheader_filename = "goocanvas.h")]
 	public struct CanvasTextData {
 		public weak string text;
 		public double x;

Modified: trunk/vapi/gsl.vapi
==============================================================================
--- trunk/vapi/gsl.vapi	(original)
+++ trunk/vapi/gsl.vapi	Sun Jan  4 17:54:44 2009
@@ -679,12 +679,9 @@
 		[CCode (cname="gsl_complex_poly_complex_eval")]
 		public static Complex poly_complex_eval (Complex[] c, Complex z);
 				
-		[NoArrayLength]
-		public static int dd_init (double[] dd, double[] xa, double[] ya, size_t size);
-		[NoArrayLength]
-		public static double dd_eval (double[] dd, double[] xa, size_t size, double x);
-		[NoArrayLength]
-		public static int dd_taylor (double[] c, double xp, double[] dd, double[] xa, size_t size, double[] w);
+		public static int dd_init ([CCode (array_length = false)] double[] dd, [CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, size_t size);
+		public static double dd_eval ([CCode (array_length = false)] double[] dd, [CCode (array_length = false)] double[] xa, size_t size, double x);
+		public static int dd_taylor ([CCode (array_length = false)] double[] c, double xp, [CCode (array_length = false)] double[] dd, [CCode (array_length = false)] double[] xa, size_t size, [CCode (array_length = false)] double[] w);
 		
 		public static int solve_quadratic (double a, double b, double c, out double x0, out double x1);
 		public static int complex_solve_quadratic (double a, double b, double c, out Complex z0, out Complex z1);
@@ -768,8 +765,7 @@
 		public static int J1_e (double x, out Result result);
 		public static double Jn (int n, double x);
 		public static int Jn_e (int n, double x, out Result result);
-		[NoArrayLength]
-		public static int Jn_array (int nmin, int nmax, double x, double[] result_array);
+		public static int Jn_array (int nmin, int nmax, double x, [CCode (array_length = false)] double[] result_array);
 		
 		public static double Y0 (double x);
 		public static int Y0_e (double x, out Result result);
@@ -777,8 +773,7 @@
 		public static int Y1_e (double x, out Result result);
 		public static double Yn (int n, double x);
 		public static int Yn_e (int n, double x, out Result result);
-		[NoArrayLength]
-		public static int Yn_array (int nmin, int nmax, double x, double[] result_array);
+		public static int Yn_array (int nmin, int nmax, double x, [CCode (array_length = false)] double[] result_array);
 		
 		public static double I0 (double x);
 		public static int I0_e (double x, out Result result);
@@ -786,16 +781,14 @@
 		public static int I1_e (double x, out Result result);
 		public static double In (int n, double x);
 		public static int In_e (int n, double x, out Result result);
-		[NoArrayLength]
-		public static int In_array (int nmin, int nmax, double x, double[] result_array);
+		public static int In_array (int nmin, int nmax, double x, [CCode (array_length = false)] double[] result_array);
 		public static double I0_scaled (double x);
 		public static int I0_scaled_e (double x, out Result result);
 		public static double I1_scaled (double x);
 		public static int I1_scaled_e (double x, out Result result);
 		public static double In_scaled (int n, double x);
 		public static int In_scaled_e (int n, double x, out Result result);
-		[NoArrayLength]
-		public static int In_scaled_array (int nmin, int nmax, double x, double[] result_array);
+		public static int In_scaled_array (int nmin, int nmax, double x, [CCode (array_length = false)] double[] result_array);
 		
 		public static double K0 (double x);
 		public static int K0_e (double x, out Result result);
@@ -803,16 +796,14 @@
 		public static int K1_e (double x, out Result result);
 		public static double Kn (int n, double x);
 		public static int Kn_e (int n, double x, out Result result);
-		[NoArrayLength]
-		public static int Kn_array (int nmin, int nmax, double x, double[] result_array);
+		public static int Kn_array (int nmin, int nmax, double x, [CCode (array_length = false)] double[] result_array);
 		public static double K0_scaled (double x);
 		public static int K0_scaled_e (double x, out Result result);
 		public static double K1_scaled (double x);
 		public static int K1_scaled_e (double x, out Result result);
 		public static double Kn_scaled (int n, double x);
 		public static int Kn_scaled_e (int n, double x, out Result result);
-		[NoArrayLength]
-		public static int Kn_scaled_array (int nmin, int nmax, double x, double[] result_array);
+		public static int Kn_scaled_array (int nmin, int nmax, double x, [CCode (array_length = false)] double[] result_array);
 		
 		public static double j0 (double x);
 		public static int j0_e (double x, out Result result);
@@ -822,10 +813,8 @@
 		public static int j2_e (double x, out Result result);
 		public static double jl (int l, double x);
 		public static int jl_e (int l, double x, out Result result);
-		[NoArrayLength]
-		public static int jl_array (int lmax, double x, double[] result_array);
-		[NoArrayLength]
-		public static int jl_steed_array (int lmax, double x, double[] jl_x_array);
+		public static int jl_array (int lmax, double x, [CCode (array_length = false)] double[] result_array);
+		public static int jl_steed_array (int lmax, double x, [CCode (array_length = false)] double[] jl_x_array);
 		
 		public static double y0 (double x);
 		public static int y0_e (double x, out Result result);
@@ -835,8 +824,7 @@
 		public static int y2_e (double x, out Result result);
 		public static double yl (int l, double x);
 		public static int yl_e (int l, double x, out Result result);
-		[NoArrayLength]
-		public static int yl_array (int lmax, double x, double[] result_array);
+		public static int yl_array (int lmax, double x, [CCode (array_length = false)] double[] result_array);
 		
 		public static double i0_scaled (double x);
 		public static int i0_scaled_e (double x, out Result result);
@@ -846,8 +834,7 @@
 		public static int i2_scaled_e (double x, out Result result);
 		public static double il_scaled (int l, double x);
 		public static int il_scaled_e (int l, double x, out Result result);
-		[NoArrayLength]
-		public static int il_scaled_array (int lmax, double x, double[] result_array);
+		public static int il_scaled_array (int lmax, double x, [CCode (array_length = false)] double[] result_array);
 		
 		public static double k0_scaled (double x);
 		public static int k0_scaled_e (double x, out Result result);
@@ -857,13 +844,11 @@
 		public static int k2_scaled_e (double x, out Result result);
 		public static double kl_scaled (int l, double x);
 		public static int kl_scaled_e (int l, double x, out Result result);
-		[NoArrayLength]
-		public static int kl_scaled_array (int lmax, double x, double[] result_array);
+		public static int kl_scaled_array (int lmax, double x, [CCode (array_length = false)] double[] result_array);
 		
 		public static double Jnu (double nu, double x);
 		public static int Jnu_e (double nu, double x, out Result result);
-		[NoArrayLength]
-		public static int sequence_Jnu_e (double nu, Mode mode, size_t size, double[] v);
+		public static int sequence_Jnu_e (double nu, Mode mode, size_t size, [CCode (array_length = false)] double[] v);
 		
 		public static double Ynu (double nu, double x);
 		public static int Ynu_e (double nu, double x, out Result result);
@@ -908,22 +893,17 @@
 	namespace CoulombWave
 	{
 		public static int FG_e (double eta, double x, double l_f, int k, out Result f, out Result fp, out Result g, out Result gp, out double exp_f, out double exp_g);
-		[NoArrayLength]
-		public static int F_array (double l_min, int kmax, double eta, double x, double[] fc_array, out double f_exponent);
-		[NoArrayLength]
-		public static int FG_array (double l_min, int kmax, double eta, double x, double[] fc_array, double[] gc_array, out double f_exponent, out double g_exponent);
-		[NoArrayLength]
-		public static int FGp_array (double l_min, int kmax, double eta, double x, double[] fc_array, double[] fcp_array, double[] gc_array, double[] gcp_array, out double f_exponent, out double g_exponent);
-		[NoArrayLength]
-		public static int sphF_array (double l_min, int kmax, double eta, double x, double[] fc_array, double[] f_exponent);
+		public static int F_array (double l_min, int kmax, double eta, double x, [CCode (array_length = false)] double[] fc_array, out double f_exponent);
+		public static int FG_array (double l_min, int kmax, double eta, double x, [CCode (array_length = false)] double[] fc_array, [CCode (array_length = false)] double[] gc_array, out double f_exponent, out double g_exponent);
+		public static int FGp_array (double l_min, int kmax, double eta, double x, [CCode (array_length = false)] double[] fc_array, [CCode (array_length = false)] double[] fcp_array, [CCode (array_length = false)] double[] gc_array, [CCode (array_length = false)] double[] gcp_array, out double f_exponent, out double g_exponent);
+		public static int sphF_array (double l_min, int kmax, double eta, double x, [CCode (array_length = false)] double[] fc_array, [CCode (array_length = false)] double[] f_exponent);
 	}
 	
 	[CCode (lower_case_cprefix="gsl_sf_coulomb_", cheader_filename="gsl/gsl_sf_coulomb.h")]
 	namespace Coulomb
 	{
 		public static int CL_e (double l, double eta, out Result result);
-		[NoArrayLength]
-		public static int CL_array (double lmin, int kmax, double eta, double[] cl);
+		public static int CL_array (double lmin, int kmax, double eta, [CCode (array_length = false)] double[] cl);
 	}
 	
 	[CCode (lower_case_cprefix="gsl_sf_coupling_", cheader_filename="gsl/gsl_coupling.h")]
@@ -1264,10 +1244,8 @@
 		public static int P3_e (double x, out Result result);
 		public static double Pl (int l, double x);
 		public static int Pl_e (int l, double x, out Result result);
-		[NoArrayLength]
-		public static int Pl_array (int lmax, double x, double[] result_array);
-		[NoArrayLength]
-		public static int Pl_deriv_array (int lmax, double x, double[] result_array, double[] result_deriv_array);
+		public static int Pl_array (int lmax, double x, [CCode (array_length = false)] double[] result_array);
+		public static int Pl_deriv_array (int lmax, double x, [CCode (array_length = false)] double[] result_array, [CCode (array_length = false)] double[] result_deriv_array);
 		public static double Q0 (double x);
 		public static int Q0_e (double x, out Result result);		
 		public static double Q1 (double x);
@@ -1277,16 +1255,12 @@
 		
 		public static double Plm (int l, int m, double x);
 		public static int Plm_e (int l, int m, double x, out Result result);
-		[NoArrayLength]
-		public static int Plm_array (int lmax, int m, double x, double[] result_array);
-		[NoArrayLength]
-		public static int Plm_deriv_array (int lmax, int m, double x, double[] result_array, double[] result_deriv_array);
+		public static int Plm_array (int lmax, int m, double x, [CCode (array_length = false)] double[] result_array);
+		public static int Plm_deriv_array (int lmax, int m, double x, double[] result_array, [CCode (array_length = false)] double[] result_deriv_array);
 		public static double sphPlm (int l, int m, double x);
 		public static int sphPlm_e (int l, int m, double x, out Result result);
-		[NoArrayLength]
-		public static int sphPlm_array (int lmax, int m, double x, double[] result_array);
-		[NoArrayLength]
-		public static int sphPlm_deriv_array (int lmax, int m, double x, double[] result_array, double[] result_deriv_array);
+		public static int sphPlm_array (int lmax, int m, double x, [CCode (array_length = false)] double[] result_array);
+		public static int sphPlm_deriv_array (int lmax, int m, double x, double[] result_array, [CCode (array_length = false)] double[] result_deriv_array);
 		public static int array_size (int lmax, int m);
 		
 		[CCode (cname="gsl_sf_conicalP_half")]
@@ -1320,8 +1294,7 @@
 		public static int H3d_1_e (double lambda, double eta, out Result result);
 		public static double H3d (int l, double lambda, double eta);
 		public static int H3d_e (int l, double lambda, double eta, out Result result);
-		[NoArrayLength]
-		public static int H3d_array (int lmax, double lambda, double eta, double[] result_array);
+		public static int H3d_array (int lmax, double lambda, double eta, [CCode (array_length = false)] double[] result_array);
 	}
 	
 	[CCode (lower_case_cprefix="gsl_sf_", cheader_filename="gsl/gsl_sf_log.h")]
@@ -1359,33 +1332,25 @@
 		public Matrix evec;
 		public EigenSymmvWorkspace wmat;
 		
-		[NoArrayLength]
-		public static int a_array (int order_min, int order_max, double qq, MathieuWorkspace work, double[] result_array);
-		[NoArrayLength]
-		public static int b_array (int order_min, int order_max, double qq, MathieuWorkspace work, double[] result_array);
+		public static int a_array (int order_min, int order_max, double qq, MathieuWorkspace work, [CCode (array_length = false)] double[] result_array);
+		public static int b_array (int order_min, int order_max, double qq, MathieuWorkspace work, [CCode (array_length = false)] double[] result_array);
 		public static int a (int order, double qq, out Result result);
 		public static int b (int order, double qq, out Result result);
-		[NoArrayLength]
-		public static int a_coeff (int order, double qq, double aa, double[] coeff);
-		[NoArrayLength]
-		public static int b_coeff (int order, double qq, double aa, double[] coeff);
+		public static int a_coeff (int order, double qq, double aa, [CCode (array_length = false)] double[] coeff);
+		public static int b_coeff (int order, double qq, double aa, [CCode (array_length = false)] double[] coeff);
 		
 		[CCode (cname="gsl_sf_mathieu_alloc")]
 		public MathieuWorkspace (size_t nn, double qq);
 
 		public static int ce (int order, double qq, double zz, out Result result);
 		public static int se (int order, double qq, double zz, out Result result);
-		[NoArrayLength]
-		public static int ce_array (int nmin, int nmax, double qq, double zz, MathieuWorkspace work, double[] result_array);
-		[NoArrayLength]
-		public static int se_array (int nmin, int nmax, double qq, double zz, MathieuWorkspace work, double[] result_array);
+		public static int ce_array (int nmin, int nmax, double qq, double zz, MathieuWorkspace work, [CCode (array_length = false)] double[] result_array);
+		public static int se_array (int nmin, int nmax, double qq, double zz, MathieuWorkspace work, [CCode (array_length = false)] double[] result_array);
 		
 		public static int Mc (int kind, int order, double qq, double zz, out Result result);
 		public static int Ms (int kind, int order, double qq, double zz, out Result result);
-		[NoArrayLength]
-		public static int Mc_array (int kind, int nmin, int nmax, double qq, double zz, MathieuWorkspace work, double[] result_array);
-		[NoArrayLength]
-		public static int Ms_array (int kind, int nmin, int nmax, double qq, double zz, MathieuWorkspace work, double[] result_array);
+		public static int Mc_array (int kind, int nmin, int nmax, double qq, double zz, MathieuWorkspace work, [CCode (array_length = false)] double[] result_array);
+		public static int Ms_array (int kind, int nmin, int nmax, double qq, double zz, MathieuWorkspace work, [CCode (array_length = false)] double[] result_array);
 	}
 	
 	[CCode (lower_case_cprefix="gsl_sf_", cheader_filename="gsl/gsl_sf_pow_int.h")]
@@ -1536,8 +1501,7 @@
 		public Vector vector;
 		
 		public static VectorView array (double[] v);
-		[NoArrayLength]
-		public static VectorView array_with_stride (double[] v, size_t stride, size_t n);
+		public static VectorView array_with_stride ([CCode (array_length = false)] double[] v, size_t stride, size_t n);
 	}
 	
 	[Compact]
@@ -1611,8 +1575,7 @@
 		public VectorComplex vector;
 		
 		public static VectorComplexView array (double[] v);
-		[NoArrayLength]
-		public static VectorComplexView array_with_stride (double[] v, size_t stride, size_t n);
+		public static VectorComplexView array_with_stride ([CCode (array_length = false)] double[] v, size_t stride, size_t n);
 	}
 	
 	[Compact]
@@ -1687,10 +1650,8 @@
 	{
 		public Matrix matrix;
 		
-		[NoArrayLength]
-		public static MatrixView array (double[] v, size_t n1, size_t n2);
-		[NoArrayLength]
-		public static MatrixView array_with_tda (double[] v, size_t n1, size_t n2, size_t tda);
+		public static MatrixView array ([CCode (array_length = false)] double[] v, size_t n1, size_t n2);
+		public static MatrixView array_with_tda ([CCode (array_length = false)] double[] v, size_t n1, size_t n2, size_t tda);
 		public static MatrixView vector (Vector v, size_t n1, size_t n2);
 		public static MatrixView vectr_with_tda (Vector v, size_t n1, size_t n2, size_t tda);
 	}
@@ -1784,10 +1745,8 @@
 	{
 		public MatrixComplex matrix;
 		
-		[NoArrayLength]
-		public static MatrixComplexView array (double[] v, size_t n1, size_t n2);
-		[NoArrayLength]
-		public static MatrixComplexView array_with_tda (double[] v, size_t n1, size_t n2, size_t tda);
+		public static MatrixComplexView array ([CCode (array_length = false)] double[] v, size_t n1, size_t n2);
+		public static MatrixComplexView array_with_tda ([CCode (array_length = false)] double[] v, size_t n1, size_t n2, size_t tda);
 		public static MatrixComplexView vector (VectorComplex v, size_t n1, size_t n2);
 		public static MatrixComplexView vectr_with_tda (VectorComplex v, size_t n1, size_t n2, size_t tda);
 	}
@@ -1924,21 +1883,17 @@
 	[CCode (lower_case_cprefix="gsl_", cheader_filename="gsl/gsl_permute_double.h")]
 	namespace Permute
 	{
-		[NoArrayLength]
-		public static int permute (size_t* p, double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int permute_inverse (size_t* p, double[] data, size_t stride, size_t n);
+		public static int permute (size_t* p, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static int permute_inverse (size_t* p, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
 	}
 	
 	[CCode (cheader_filename="gsl/gsl_permute_complex_double.h")]
 	namespace PermuteComplex
 	{
-		[NoArrayLength]
 		[CCode (cname="gsl_permute_complex")]
-		public static int permute (size_t* p, double[] data, size_t stride, size_t n);
-		[NoArrayLength]
+		public static int permute (size_t* p, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
 		[CCode (cname="gsl_permute_complex_inverse")]
-		public static int permute_inverse (size_t* p, double[] data, size_t stride, size_t n);
+		public static int permute_inverse (size_t* p, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
 	}
 	
 	[CCode (cheader_filename="gsl/gsl_permute_vector_double.h")]
@@ -2003,20 +1958,14 @@
 	[CCode (lower_case_cprefix="gsl_sort_", cheader_filename="gsl/gsl_sort_double.h")]
 	namespace Sort
 	{
-		[NoArrayLength]
 		[CCode (cname="gsl_sort")]
-		public static void sort (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
+		public static void sort ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
 		[CCode (cname="gsl_sort_index")]
-		public static void sort_index (size_t[] p, double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int smallest (double[] dest, size_t k, double[] src, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int smallest_index (size_t[] p, size_t k, double[] src, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int largest (double[] dest, size_t k, double[] src, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int largest_index (size_t[] p, size_t k, double[] src, size_t stride, size_t n);
+		public static void sort_index ([CCode (array_length = false)] size_t[] p, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static int smallest ([CCode (array_length = false)] double[] dest, size_t k, [CCode (array_length = false)] double[] src, size_t stride, size_t n);
+		public static int smallest_index ([CCode (array_length = false)] size_t[] p, size_t k, [CCode (array_length = false)] double[] src, size_t stride, size_t n);
+		public static int largest ([CCode (array_length = false)] double[] dest, size_t k, [CCode (array_length = false)] double[] src, size_t stride, size_t n);
+		public static int largest_index ([CCode (array_length = false)] size_t[] p, size_t k, [CCode (array_length = false)] double[] src, size_t stride, size_t n);
 	}
 	
 	[CCode (lower_case_cprefix="gsl_sort_vector_", cheader_filename="gsl/gsl_sort_vector_double.h")]
@@ -2026,14 +1975,10 @@
 		public static void sort (Vector v);
 		[CCode (cname="gsl_sort_vector_index")]
 		public static int sort_index (Permutation p, Vector v);
-		[NoArrayLength]
-		public static int smallest (double[] dest, size_t k, Vector v);
-		[NoArrayLength]
-		public static int smallest_index (size_t[] p, size_t k, Vector v);
-		[NoArrayLength]
-		public static int largest (double[] dest, size_t k, Vector v);
-		[NoArrayLength]
-		public static int largest_index (size_t[] p, size_t k, Vector v);
+		public static int smallest ([CCode (array_length = false)] double[] dest, size_t k, Vector v);
+		public static int smallest_index ([CCode (array_length = false)] size_t[] p, size_t k, Vector v);
+		public static int largest ([CCode (array_length = false)] double[] dest, size_t k, Vector v);
+		public static int largest_index ([CCode (array_length = false)] size_t[] p, size_t k, Vector v);
 	}
 	
 	
@@ -2410,31 +2355,19 @@
 	[CCode (lower_case_cprefix="gsl_fft_complex_", cheader_filename="gsl/gsl_fft_complex.h")]
 	namespace FFTComplex
 	{
-		[NoArrayLength]
-		public static int radix2_forward (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int radix2_transform (double[] data, size_t stride, size_t n, FFTDirection sign);
-		[NoArrayLength]
-		public static int radix2_backward (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int radix2_inverse (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int radix2_dif_forward (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int radix2_dif_transform (double[] data, size_t stride, size_t n, FFTDirection sign);
-		[NoArrayLength]
-		public static int radix2_dif_backward (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int radix2_dif_inverse (double[] data, size_t stride, size_t n);
-		
-		[NoArrayLength]
-		public static int forward (double[] data, size_t stride, size_t n, FFTComplexWavetable wavetable, FFTComplexWorkspace work);
-		[NoArrayLength]
-		public static int transform (double[] data, size_t stride, size_t n, FFTComplexWavetable wavetable, FFTComplexWorkspace work, FFTDirection sign);
-		[NoArrayLength]
-		public static int backward (double[] data, size_t stride, size_t n, FFTComplexWavetable wavetable, FFTComplexWorkspace work);
-		[NoArrayLength]
-		public static int inverse (double[] data, size_t stride, size_t n, FFTComplexWavetable wavetable, FFTComplexWorkspace work);
+		public static int radix2_forward ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static int radix2_transform ([CCode (array_length = false)] double[] data, size_t stride, size_t n, FFTDirection sign);
+		public static int radix2_backward ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static int radix2_inverse ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static int radix2_dif_forward ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static int radix2_dif_transform ([CCode (array_length = false)] double[] data, size_t stride, size_t n, FFTDirection sign);
+		public static int radix2_dif_backward ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static int radix2_dif_inverse ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		
+		public static int forward ([CCode (array_length = false)] double[] data, size_t stride, size_t n, FFTComplexWavetable wavetable, FFTComplexWorkspace work);
+		public static int transform ([CCode (array_length = false)] double[] data, size_t stride, size_t n, FFTComplexWavetable wavetable, FFTComplexWorkspace work, FFTDirection sign);
+		public static int backward ([CCode (array_length = false)] double[] data, size_t stride, size_t n, FFTComplexWavetable wavetable, FFTComplexWorkspace work);
+		public static int inverse ([CCode (array_length = false)] double[] data, size_t stride, size_t n, FFTComplexWavetable wavetable, FFTComplexWorkspace work);
 	}
 	
 	[Compact]
@@ -2466,12 +2399,9 @@
 	[CCode (lower_case_cprefix="gsl_fft_real_", cheader_filename="gsl/gsl_fft_real.h")]
 	namespace FFTReal
 	{
-		[NoArrayLength]
-		public static int radix2_forward (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int transform (double[] data, size_t stride, size_t n, FFTRealWavetable wavetable, FFTRealWorkspace work);
-		[NoArrayLength]
-		public static int unpack (double[] real_coefficient, double[] complex_coeficient, size_t stride, size_t n);
+		public static int radix2_forward ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static int transform ([CCode (array_length = false)] double[] data, size_t stride, size_t n, FFTRealWavetable wavetable, FFTRealWorkspace work);
+		public static int unpack ([CCode (array_length = false)] double[] real_coefficient, [CCode (array_length = false)] double[] complex_coeficient, size_t stride, size_t n);
 	}
 	
 	[Compact]
@@ -2491,22 +2421,14 @@
 	[CCode (lower_case_cprefix="gsl_fft_halfcomplex_", cheader_filename="gsl/gsl_fft_halfcomplex.h")]
 	namespace FFTHalfcomplex
 	{
-		[NoArrayLength]
-		public static int radix2_inverse (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int radix2_backward (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int radix2_transform (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int backward (double[] data, size_t stride, size_t n, FFTHalfcomplexWavetable wavetable, FFTRealWorkspace work);
-		[NoArrayLength]
-		public static int inverse (double[] data, size_t stride, size_t n, FFTHalfcomplexWavetable wavetable, FFTRealWorkspace work);
-		[NoArrayLength]
-		public static int transform (double[] data, size_t stride, size_t n, FFTHalfcomplexWavetable wavetable, FFTRealWorkspace work);
-		[NoArrayLength]
-		public static int unpack (double[] halfcomplex_coefficient, double[] complex_coefficient, size_t stride, size_t n);
-		[NoArrayLength]
-		public static int radix2_unpack (double[] halfcomplex_coefficient, double[] complex_coefficient, size_t stride, size_t n);
+		public static int radix2_inverse ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static int radix2_backward ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static int radix2_transform ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static int backward ([CCode (array_length = false)] double[] data, size_t stride, size_t n, FFTHalfcomplexWavetable wavetable, FFTRealWorkspace work);
+		public static int inverse ([CCode (array_length = false)] double[] data, size_t stride, size_t n, FFTHalfcomplexWavetable wavetable, FFTRealWorkspace work);
+		public static int transform ([CCode (array_length = false)] double[] data, size_t stride, size_t n, FFTHalfcomplexWavetable wavetable, FFTRealWorkspace work);
+		public static int unpack ([CCode (array_length = false)] double[] halfcomplex_coefficient, [CCode (array_length = false)] double[] complex_coefficient, size_t stride, size_t n);
+		public static int radix2_unpack ([CCode (array_length = false)] double[] halfcomplex_coefficient, [CCode (array_length = false)] double[] complex_coefficient, size_t stride, size_t n);
 	}
 	
 	
@@ -2597,16 +2519,14 @@
 		public static void qk61 (Function* f, double a, double b, out double result, out double abserr, out double resabs, out double resasc);
 		public static void qcheb (Function* f, double a, double b, out double cheb12, out double cheb24);
 		
-		[NoArrayLength]
-		public static void qk (int n, double[] xgk, double[] wg, double[] wgk, double[] fv1, double[] fv2, Function* f, double a, double b, out double result, out double abserr, out double resabs, double resasc);
+		public static void qk (int n, [CCode (array_length = false)] double[] xgk, [CCode (array_length = false)] double[] wg, [CCode (array_length = false)] double[] wgk, [CCode (array_length = false)] double[] fv1, [CCode (array_length = false)] double[] fv2, Function* f, double a, double b, out double result, out double abserr, out double resabs, double resasc);
 		public static int qng (Function* f, double a, double b, double epsabs, double epsrel, out double result, out double abserr, out size_t neval);
 		public static int qag (Function* f, double a, double b, double epsabs, double epsrel, size_t limit, int key, IntegrationWorkspace workspace, out double result, out double abserr);
 		public static int qagi (Function* f, double epsabs, double epsrel, size_t limit, IntegrationWorkspace workspace, out double result, out double abserr);
 		public static int qagiu (Function* f, double a, double epsabs, double epsrel, size_t limit, IntegrationWorkspace workspace, out double result, out double abserr);
 		public static int qagil (Function* f, double b, double epsabs, double epsrel, size_t limit, IntegrationWorkspace workspace, out double result, out double abserr);
 		public static int qags (Function* f, double a, double b, double epsabs, double epsrel, size_t limit, IntegrationWorkspace workspace, out double result, out double abserr);
-		[NoArrayLength]
-		public static int qagp (Function* f, double[] pts, size_t npts, double epsabs, double epsrel, size_t limit, IntegrationWorkspace workspace, out double result, out double abserr);
+		public static int qagp (Function* f, [CCode (array_length = false)] double[] pts, size_t npts, double epsabs, double epsrel, size_t limit, IntegrationWorkspace workspace, out double result, out double abserr);
 		public static int qawc (Function* f, double a, double b, double c, double epsabs, double epsrel, size_t limit, IntegrationWorkspace workspace, out double result, out double abserr);
 		public static int qaws (Function* f, double a, double b, IntegrationQAWSTable t, double epsabs, double epsrel, size_t limit, IntegrationWorkspace workspace, out double result, out double abserr);
 		public static int qawo (Function* f, double a, double epsabs, double epsrel, size_t limit, IntegrationWorkspace workspace, IntegrationQAWOTable wf, out double result, out double abserr);
@@ -2910,8 +2830,7 @@
   		public QRNG clone ();
   		public string name ();
   		public size_t size ();
-  		[NoArrayLength]
-  		public int @get (double[] x);
+  		public int @get ([CCode (array_length = false)] double[] x);
   	}
   	
   	
@@ -3005,12 +2924,9 @@
 		public static uint logarithmic (RNG r, double p);
 		public static double logarithmic_pdf (uint k, double p);
 		
-		[NoArrayLength]
-		public static void multinomial (RNG r, size_t K, uint N, double[] p, uint[] n);
-		[NoArrayLength]
-		public static double multinomial_pdf (size_t K, double[] p, uint[] n);
-		[NoArrayLength]
-		public static double multinomial_lnpdf (size_t K, double[] p, uint[] n);
+		public static void multinomial (RNG r, size_t K, uint N, [CCode (array_length = false)] double[] p, [CCode (array_length = false)] uint[] n);
+		public static double multinomial_pdf (size_t K, [CCode (array_length = false)] double[] p, [CCode (array_length = false)] uint[] n);
+		public static double multinomial_lnpdf (size_t K, [CCode (array_length = false)] double[] p, [CCode (array_length = false)] uint[] n);
 		
 		public static uint negative_binomial (RNG r, double p, double n);
 		public static double negative_binomial_pdf (uint k, double p, double n);
@@ -3022,8 +2938,7 @@
 		public static double pareto_pdf (double x, double a, double b);
 		
 		public static uint poisson (RNG r, double mu);
-		[NoArrayLength]
-		public static void poisson_array (RNG r, size_t n, uint[] array, double mu);
+		public static void poisson_array (RNG r, size_t n, [CCode (array_length = false)] uint[] array, double mu);
 		public static double poisson_pdf (uint k, double mu);
 		
 		public static double rayleigh (RNG r, double sigma);
@@ -3077,95 +2992,52 @@
 	[CCode (lower_case_cprefix="gsl_stats_", cheader_filename="gsl/gsl_statistics.h")]
 	namespace Stats
 	{
-		[NoArrayLength]
-		public static double mean (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double variance (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double variance_m (double[] data, size_t stride, size_t n, double mean);
-		[NoArrayLength]
-		public static double sd (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double sd_m (double[] data, size_t stride, size_t n, double mean);
-		[NoArrayLength]
-		public static double tss (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double tss_m (double[] data, size_t stride, size_t n, double mean);
-		[NoArrayLength]
-		public static double variance_with_fixed_mean (double[] data, size_t stride, size_t n, double mean);
-		[NoArrayLength]
-		public static double sd_with_fixed_mean (double[] data, size_t stride, size_t n, double mean);
-		[NoArrayLength]
-		public static double absdev (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double absdev_m (double[] data, size_t stride, size_t n, double mean);
-		[NoArrayLength]
-		public static double skew (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double skew_m_sd (double[] data, size_t stride, size_t n, double mean, double sd);
-		[NoArrayLength]
-		public static double kurtosis (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double kurtosis_m_sd (double[] data, size_t stride, size_t n, double mean, double sd);
-		[NoArrayLength]
-		public static double lag1_autocorrelation (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double lag1_autocorrelation_m (double[] data, size_t stride, size_t n, double mean);
-		[NoArrayLength]
-		public static double covariance (double[] data1, size_t stride1, double[] data2, size_t stride2, size_t n);
-		[NoArrayLength]
-		public static double covariance_m (double[] data1, size_t stride1, double[] data2, size_t stride2, size_t n, double mean1, double mean2);
-		[NoArrayLength]
-		public static double correlation (double[] data1, size_t stride1, double[] data2, size_t stride2, size_t n);
-		
-		[NoArrayLength]
-		public static double wmean (double[] w, size_t wstride, double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double wvariance (double[] w, size_t wstride, double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double wvariance_m (double[] w, size_t wstride, double[] data, size_t stride, size_t n, double wmean);
-		[NoArrayLength]
-		public static double wsd (double[] w, size_t wstride, double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double wsd_m (double[] w, size_t wstride, double[] data, size_t stride, size_t n, double wmean);
-		[NoArrayLength]
-		public static double wtss (double[] w, size_t wstride, double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double wtss_m (double[] w, size_t wstride, double[] data, size_t stride, size_t n, double mean);
-		[NoArrayLength]
-		public static double wvariance_with_fixed_mean (double[] w, size_t wstride, double[] data, size_t stride, size_t n, double wmean);
-		[NoArrayLength]
-		public static double wsd_with_fixed_mean (double[] w, size_t wstride, double[] data, size_t stride, size_t n, double wmean);
-		[NoArrayLength]
-		public static double wabsdev (double[] w, size_t wstride, double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double wabsdev_m (double[] w, size_t wstride, double[] data, size_t stride, size_t n, double wmean);
-		[NoArrayLength]
-		public static double wskew (double[] w, size_t wstride, double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double wskew_m_sd (double[] w, size_t wstride, double[] data, size_t stride, size_t n, double wmean, double wsd);
-		[NoArrayLength]
-		public static double wkurtosis (double[] w, size_t wstride, double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double wkurtosis_m_sd (double[] w, size_t wstride, double[] data, size_t stride, size_t n, double wmean, double wsd);
-		
-		[NoArrayLength]
-		public static double max (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double min (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static void minmax (out double min, out double max, double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static size_t max_index (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static size_t min_index (double[] data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static void minmax_index (out size_t min, out size_t max, double[] data, size_t stride, size_t n);
-		
-		[NoArrayLength]
-		public static double median_from_sorted_data (double[] sorted_data, size_t stride, size_t n);
-		[NoArrayLength]
-		public static double quantile_from_sorted_data (double[] sorted_data, size_t stride, size_t n, double f);
+		public static double mean ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double variance ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double variance_m ([CCode (array_length = false)] double[] data, size_t stride, size_t n, double mean);
+		public static double sd ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double sd_m ([CCode (array_length = false)] double[] data, size_t stride, size_t n, double mean);
+		public static double tss ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double tss_m ([CCode (array_length = false)] double[] data, size_t stride, size_t n, double mean);
+		public static double variance_with_fixed_mean ([CCode (array_length = false)] double[] data, size_t stride, size_t n, double mean);
+		public static double sd_with_fixed_mean ([CCode (array_length = false)] double[] data, size_t stride, size_t n, double mean);
+		public static double absdev ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double absdev_m ([CCode (array_length = false)] double[] data, size_t stride, size_t n, double mean);
+		public static double skew ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double skew_m_sd ([CCode (array_length = false)] double[] data, size_t stride, size_t n, double mean, double sd);
+		public static double kurtosis ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double kurtosis_m_sd ([CCode (array_length = false)] double[] data, size_t stride, size_t n, double mean, double sd);
+		public static double lag1_autocorrelation ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double lag1_autocorrelation_m ([CCode (array_length = false)] double[] data, size_t stride, size_t n, double mean);
+		public static double covariance ([CCode (array_length = false)] double[] data1, size_t stride1, [CCode (array_length = false)] double[] data2, size_t stride2, size_t n);
+		public static double covariance_m ([CCode (array_length = false)] double[] data1, size_t stride1, [CCode (array_length = false)] double[] data2, size_t stride2, size_t n, double mean1, double mean2);
+		public static double correlation ([CCode (array_length = false)] double[] data1, size_t stride1, [CCode (array_length = false)] double[] data2, size_t stride2, size_t n);
+		
+		public static double wmean ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double wvariance ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double wvariance_m ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n, double wmean);
+		public static double wsd ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double wsd_m ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n, double wmean);
+		public static double wtss ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double wtss_m ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n, double mean);
+		public static double wvariance_with_fixed_mean ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n, double wmean);
+		public static double wsd_with_fixed_mean ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n, double wmean);
+		public static double wabsdev ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double wabsdev_m ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n, double wmean);
+		public static double wskew ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double wskew_m_sd ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n, double wmean, double wsd);
+		public static double wkurtosis ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double wkurtosis_m_sd ([CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] data, size_t stride, size_t n, double wmean, double wsd);
+		
+		public static double max ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static double min ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static void minmax (out double min, out double max, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static size_t max_index ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static size_t min_index ([CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		public static void minmax_index (out size_t min, out size_t max, [CCode (array_length = false)] double[] data, size_t stride, size_t n);
+		
+		public static double median_from_sorted_data ([CCode (array_length = false)] double[] sorted_data, size_t stride, size_t n);
+		public static double quantile_from_sorted_data ([CCode (array_length = false)] double[] sorted_data, size_t stride, size_t n, double f);
 	}
 	
 	
@@ -3186,9 +3058,8 @@
 		public Histogram.with_zeros (size_t n);
 		[CCode (cname="gsl_histogram_calloc_uniform")]
 		public Histogram.uniform (size_t n, double xmin, double xmax);
-		[NoArrayLength]
 		[CCode (cname="gsl_histogram_calloc_range")]
-		public Histogram.with_range (size_t n, double[] range);
+		public Histogram.with_range (size_t n, [CCode (array_length = false)] double[] range);
 		
 		public int increment (double x);
 		public int accumulate (double x, double weight);
@@ -3382,8 +3253,7 @@
 		STRATIFIED
 	}
 	
-	[NoArrayLength]
-	static delegate double MonteFunc (double[] x_array, size_t dim, void* params);
+	static delegate double MonteFunc ([CCode (array_length = false)] double[] x_array, size_t dim, void* params);
 	
 	[SimpleType]
 	[CCode (cname="gsl_monte_function", cheader_filanema="gsl/gsl_monte.h")]
@@ -3404,8 +3274,7 @@
 		[CCode (cname="gsl_monte_plain_alloc")]
 		public MontePlainState (size_t dim);
 		public int init ();
-		[NoArrayLength]
-		public static int integrate (MonteFunction* f, double[] xl, double[] xu, size_t dim, size_t calls,  RNG r, MontePlainState state, out double result, out double abserr);
+		public static int integrate (MonteFunction* f, [CCode (array_length = false)] double[] xl, [CCode (array_length = false)] double[] xu, size_t dim, size_t calls,  RNG r, MontePlainState state, out double result, out double abserr);
 	}
 	
 	[Compact]
@@ -3439,8 +3308,7 @@
 		[CCode (cname="gsl_monte_miser_alloc")]
 		public MonteMiserState (size_t dim);
 		public int init ();
-		[NoArrayLength]
-		public static int integrate (MonteFunction* f, double[] xl, double[] xh, size_t dim, size_t calls, RNG r, MonteMiserState state, out double result, out double abserr);
+		public static int integrate (MonteFunction* f, [CCode (array_length = false)] double[] xl, [CCode (array_length = false)] double[] xh, size_t dim, size_t calls, RNG r, MonteMiserState state, out double result, out double abserr);
 	}
 	
 	[Compact]
@@ -3481,8 +3349,7 @@
 		[CCode (cname="gsl_monte_vegas_alloc")]
 		public MonteVegasState (size_t dim);
 		public int init ();
-		[NoArrayLength]
-		public static int integrate (MonteFunction* f, double[] xl, double[] xu, size_t dim, size_t calls, RNG r, MonteVegasState state, out double result, out double abserr);
+		public static int integrate (MonteFunction* f, [CCode (array_length = false)] double[] xl, [CCode (array_length = false)] double[] xu, size_t dim, size_t calls, RNG r, MonteVegasState state, out double result, out double abserr);
 	}
 	
 	
@@ -3529,20 +3396,16 @@
 		DEC
 	}
 	
-	[NoArrayLength]
-	static delegate int OdeivFunction (double t, double[] y, double[] dydt, void* params);
-	[NoArrayLength]
-	static delegate int OdeivJacobian (double t, double[] y, double[] dfdy, double[] dfdt, void* params);
+	static delegate int OdeivFunction (double t, [CCode (array_length = false)] double[] y, [CCode (array_length = false)] double[] dydt, void* params);
+	static delegate int OdeivJacobian (double t, [CCode (array_length = false)] double[] y, [CCode (array_length = false)] double[] dfdy, [CCode (array_length = false)] double[] dfdt, void* params);
 	static delegate void* OdeivStepAlloc (size_t dim);
-	[NoArrayLength]
-	static delegate int OdeivStepApply (void* state, size_t dim, double t, double h, double[] y, double[] yerr, double[] dydt_in, double[] dydt_out, OdeivSystem* dydt);
+	static delegate int OdeivStepApply (void* state, size_t dim, double t, double h, [CCode (array_length = false)] double[] y, [CCode (array_length = false)] double[] yerr, [CCode (array_length = false)] double[] dydt_in, [CCode (array_length = false)] double[] dydt_out, OdeivSystem* dydt);
 	static delegate int OdeivStepReset (void* state, size_t dim);
 	static delegate uint OdeivStepOrder (void* state);
 	static delegate void OdeivStepFree (void* state);
 	static delegate void* OdeivControlAlloc ();
 	static delegate int OdeivControlInit (void* state, double eps_abs, double eps_rel, double a_y, double a_dydt);
-	[NoArrayLength]
-	static delegate int OdeivControlHadjust (void* state, size_t dim, uint ord, double[] y, double[] yerr, double[] yp, double[] h);
+	static delegate int OdeivControlHadjust (void* state, size_t dim, uint ord, [CCode (array_length = false)] double[] y, [CCode (array_length = false)] double[] yerr, [CCode (array_length = false)] double[] yp, [CCode (array_length = false)] double[] h);
 	static delegate void OdeivControlFree (void* state);
 	
 	[SimpleType]
@@ -3599,8 +3462,7 @@
 		public string name ();
 		public uint order ();
 		
-		[NoArrayLength]
-		public int apply (double t, double h, double[] y, double[] yerr, double[] dydt_in, double[] dydt_out, OdeivSystem* dydt);
+		public int apply (double t, double h, [CCode (array_length = false)] double[] y, [CCode (array_length = false)] double[] yerr, [CCode (array_length = false)] double[] dydt_in, [CCode (array_length = false)] double[] dydt_out, OdeivSystem* dydt);
 	}
 	
 	[SimpleType]
@@ -3652,8 +3514,7 @@
 		
 		[CCode (cname="gsl_odeiv_evolve_alloc")]
 		public OdeivEvolve (size_t dim);
-		[NoArrayLength]
-		public int apply (OdeivControl con, OdeivStep step, OdeivSystem* dydt, double[] t, double t1, double[] h, double[] y);
+		public int apply (OdeivControl con, OdeivStep step, OdeivSystem* dydt, [CCode (array_length = false)] double[] t, double t1, [CCode (array_length = false)] double[] h, [CCode (array_length = false)] double[] y);
 		public int reset ();
 	}
 	
@@ -3662,16 +3523,11 @@
 	 * Interpolation
 	 */
 	static delegate void* InterpAlloc (size_t size);
-	[NoArrayLength]
-	static delegate int InterpInit (void* t, double[] xa, double[] ya, size_t size);
-	[NoArrayLength]
-	static delegate int InterpEval (void* t, double[] xa, double[] ya, size_t size, double x, InterpAccel* i, out double y);
-	[NoArrayLength]
-	static delegate int InterpEvalDeriv (void* t, double[] xa, double[] ya, size_t size, double x, InterpAccel* i, out double y_p);
-	[NoArrayLength]
-	static delegate int InterpEvalDeriv2 (void* t, double[] xa, double[] ya, size_t size, double x, InterpAccel* i, out double y_pp);
-	[NoArrayLength]
-	static delegate int InterpEvalInteg (void* t, double[] xa, double[] ya, size_t size, InterpAccel* i, double a, double b, out double result);
+	static delegate int InterpInit (void* t, [CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, size_t size);
+	static delegate int InterpEval (void* t, [CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, size_t size, double x, InterpAccel* i, out double y);
+	static delegate int InterpEvalDeriv (void* t, [CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, size_t size, double x, InterpAccel* i, out double y_p);
+	static delegate int InterpEvalDeriv2 (void* t, [CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, size_t size, double x, InterpAccel* i, out double y_pp);
+	static delegate int InterpEvalInteg (void* t, [CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, size_t size, InterpAccel* i, double a, double b, out double result);
 	static delegate void InterpFree (void* t);
 	
 	[Compact]
@@ -3726,28 +3582,18 @@
 		
 		[CCode (cname="gsl_interp_alloc")]
 		public Interp (InterpType T, size_t n);
-		[NoArrayLength]
-		public int init (double[] xa, double[] ya, size_t size);
+		public int init ([CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, size_t size);
 		public string name ();
 		public uint min_size ();
-		[NoArrayLength]
-		public int eval_e (double[] xa, double[] ya, double x, InterpAccel a, out double y);
-		[NoArrayLength]
-		public double eval (double[] xa, double[] ya, double x, InterpAccel a);
-		[NoArrayLength]
-		public int eval_deriv_e (double[] xa, double[] ya, double x, InterpAccel a, out double d);
-		[NoArrayLength]
-		public double eval_deriv (double[] xa, double[] ya, double x, InterpAccel a);
-		[NoArrayLength]
-		public int eval_deriv2_e (double[] xa, double[] ya, double x, InterpAccel a, out double d2);
-		[NoArrayLength]
-		public double eval_deriv2 (double[] xa, double[] ya, double x, InterpAccel a);
-		[NoArrayLength]
-		public int eval_integ_e (double[] xa, double[] ya, double a, double b, InterpAccel acc, out double result);
-		[NoArrayLength]
-		public double eval_integ (double[] xa, double[] ya, double a, double b, InterpAccel acc);
-		[NoArrayLength]
-		public static size_t bsearch(double[] x_array, double x, size_t index_lo, size_t index_hi);
+		public int eval_e ([CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, double x, InterpAccel a, out double y);
+		public double eval ([CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, double x, InterpAccel a);
+		public int eval_deriv_e ([CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, double x, InterpAccel a, out double d);
+		public double eval_deriv ([CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, double x, InterpAccel a);
+		public int eval_deriv2_e ([CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, double x, InterpAccel a, out double d2);
+		public double eval_deriv2 ([CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, double x, InterpAccel a);
+		public int eval_integ_e ([CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, double a, double b, InterpAccel acc, out double result);
+		public double eval_integ ([CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, double a, double b, InterpAccel acc);
+		public static size_t bsearch([CCode (array_length = false)] double[] x_array, double x, size_t index_lo, size_t index_hi);
 	}
 	
 	[Compact]
@@ -3761,8 +3607,7 @@
 		
 		[CCode (cname="gsl_spline_alloc")]
 		public Spline (InterpType* T, size_t size);
-		[NoArrayLength]
-		public int init (double[] xa, double[] ya, size_t size);
+		public int init ([CCode (array_length = false)] double[] xa, [CCode (array_length = false)] double[] ya, size_t size);
 		public string name ();
 		public uint min_size ();
 		public int eval_e (double x, InterpAccel a, out double y);
@@ -3925,31 +3770,22 @@
 		[CCode (cname="gsl_wavelet_alloc")]
 		public Wavelet (WaveletType* T, size_t k);
 		public string name ();
-		[NoArrayLength]
-		public int transform (double[] data, size_t stride, size_t n, WaveletDirection dir, WaveletWorkspace work);
-		[NoArrayLength]
-		public int transform_forward (double[] data, size_t stride, size_t n, WaveletWorkspace work);
-		[NoArrayLength]
-		public int transform_inverse (double[] data, size_t stride, size_t n, WaveletWorkspace work);
+		public int transform ([CCode (array_length = false)] double[] data, size_t stride, size_t n, WaveletDirection dir, WaveletWorkspace work);
+		public int transform_forward ([CCode (array_length = false)] double[] data, size_t stride, size_t n, WaveletWorkspace work);
+		public int transform_inverse ([CCode (array_length = false)] double[] data, size_t stride, size_t n, WaveletWorkspace work);
 		
-		[NoArrayLength]
 		[CCode (cname="gsl_wavelet2d_transform")]
-		public int transform_2d (double[] data, size_t tda, size_t size1, size_t size2, WaveletDirection dir, WaveletWorkspace work);
-		[NoArrayLength]
+		public int transform_2d ([CCode (array_length = false)] double[] data, size_t tda, size_t size1, size_t size2, WaveletDirection dir, WaveletWorkspace work);
 		[CCode (cname="gsl_wavelet2d_transform_forward")]
-		public int transform_forward_2d (double[] data, size_t tda, size_t size1, size_t size2, WaveletWorkspace work);
-		[NoArrayLength]
+		public int transform_forward_2d ([CCode (array_length = false)] double[] data, size_t tda, size_t size1, size_t size2, WaveletWorkspace work);
 		[CCode (cname="gsl_wavelet2d__transform_inverse")]
-		public int transform_inverse_2d (double[] data, size_t tda, size_t size1, size_t size2, WaveletWorkspace work);
-		[NoArrayLength]
+		public int transform_inverse_2d ([CCode (array_length = false)] double[] data, size_t tda, size_t size1, size_t size2, WaveletWorkspace work);
 		[CCode (cprefix="gsl_wavelet2d_")]
-		public int nstransform (double[] data, size_t tda, size_t size1, size_t size2, WaveletDirection dir,WaveletWorkspace work);
-		[NoArrayLength]
+		public int nstransform ([CCode (array_length = false)] double[] data, size_t tda, size_t size1, size_t size2, WaveletDirection dir,WaveletWorkspace work);
 		[CCode (cprefix="gsl_wavelet2d_")]
-		public int nstransform_forward (double[] data, size_t tda, size_t size1, size_t size2, WaveletWorkspace work);
-		[NoArrayLength]
+		public int nstransform_forward ([CCode (array_length = false)] double[] data, size_t tda, size_t size1, size_t size2, WaveletWorkspace work);
 		[CCode (cprefix="gsl_wavelet2d_")]
-		public int nstransform_inverse (double[] data, size_t tda, size_t size1, size_t size2, WaveletWorkspace * work);
+		public int nstransform_inverse ([CCode (array_length = false)] double[] data, size_t tda, size_t size1, size_t size2, WaveletWorkspace * work);
 		[CCode (cprefix="gsl_wavelet2d_")]
 		public int transform_matrix (Matrix a, WaveletDirection dir, WaveletWorkspace work);
 		[CCode (cprefix="gsl_wavelet2d_")]
@@ -3987,8 +3823,7 @@
 		public int init (double nu, double xmax);
 		public double x_sample (int n);
 		public double k_sample (int n);
-		[NoArrayLength]
-		public int apply (double[] f_in, double[] f_out);
+		public int apply ([CCode (array_length = false)] double[] f_in, [CCode (array_length = false)] double[] f_out);
 	}
 	
 	
@@ -4397,16 +4232,11 @@
 	[CCode (lower_case_cprefix="gsl_fit_", cheader_filename="gsl/gsl_fit.h")]
 	namespace Fit
 	{
-		[NoArrayLength]
-		public static int linear (double[] x, size_t xstride, double[] y, size_t ystride, size_t n, out double c0, out double c1, out double cov00, out double cov01, out double cov11, out double sumsq);
-		[NoArrayLength]
-		public static int wlinear (double[] x, size_t xstride, double[] w, size_t wstride, double[] y, size_t ystride, size_t n, out double c0, out double c1, out double cov00, out double cov01, out double cov11, double chisq);
-		[NoArrayLength]
+		public static int linear ([CCode (array_length = false)] double[] x, size_t xstride, [CCode (array_length = false)] double[] y, size_t ystride, size_t n, out double c0, out double c1, out double cov00, out double cov01, out double cov11, out double sumsq);
+		public static int wlinear ([CCode (array_length = false)] double[] x, size_t xstride, [CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] y, size_t ystride, size_t n, out double c0, out double c1, out double cov00, out double cov01, out double cov11, double chisq);
 		public static int linear_est (double x, double c0, double c1, double cov00, double cov01, double cov11, out double y, out double y_err);
-		[NoArrayLength]
-		public static int mul (double[] x, size_t xstride, double[] y, size_t ystride, size_t n, out double c1, out double cov11, out double sumsq);
-		[NoArrayLength]
-		public static int wmul (double[] x, size_t xstride, double[] w, size_t wstride, double[] y, size_t ystride, size_t n, out double c1, out double cov11, out double sumsq);
+		public static int mul ([CCode (array_length = false)] double[] x, size_t xstride, [CCode (array_length = false)] double[] y, size_t ystride, size_t n, out double c1, out double cov11, out double sumsq);
+		public static int wmul ([CCode (array_length = false)] double[] x, size_t xstride, [CCode (array_length = false)] double[] w, size_t wstride, [CCode (array_length = false)] double[] y, size_t ystride, size_t n, out double c1, out double cov11, out double sumsq);
 		public static int mul_est (double x, double c1, double cov11, out double y, out double y_err);
 	}
 	

Modified: trunk/vapi/hildon-1.vapi
==============================================================================
--- trunk/vapi/hildon-1.vapi	(original)
+++ trunk/vapi/hildon-1.vapi	Sun Jan  4 17:54:44 2009
@@ -1,4 +1,4 @@
-/* hildon-1.vapi generated by lt-vapigen, do not modify. */
+/* hildon-1.vapi generated by vapigen, do not modify. */
 
 [CCode (cprefix = "Hildon", lower_case_cprefix = "hildon_")]
 namespace Hildon {
@@ -10,11 +10,11 @@
 		public void set_markup (string markup);
 		public void set_text (string text);
 		public void set_timeout (uint timeout);
-		public static weak Gtk.Widget show_animation (Gtk.Widget widget, string animation_name, string text);
-		public static weak Gtk.Widget show_information (Gtk.Widget widget, string icon_name, string text);
-		public static weak Gtk.Widget show_information_with_markup (Gtk.Widget widget, string icon_name, string markup);
-		public static weak Gtk.Widget show_informationf (Gtk.Widget widget, string icon_name, string format);
-		public static weak Gtk.Widget show_progress (Gtk.Widget widget, Gtk.ProgressBar bar, string text);
+		public static unowned Gtk.Widget show_animation (Gtk.Widget widget, string animation_name, string text);
+		public static unowned Gtk.Widget show_information (Gtk.Widget widget, string icon_name, string text);
+		public static unowned Gtk.Widget show_information_with_markup (Gtk.Widget widget, string icon_name, string markup);
+		public static unowned Gtk.Widget show_informationf (Gtk.Widget widget, string icon_name, string format);
+		public static unowned Gtk.Widget show_progress (Gtk.Widget widget, Gtk.ProgressBar bar, string text);
 		[NoAccessorMethod]
 		public bool is_timed { get; construct; }
 		[NoAccessorMethod]
@@ -36,21 +36,21 @@
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class Calendar : Gtk.Widget, Atk.Implementor, Gtk.Buildable {
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public weak int[] day_month;
 		public Hildon.CalendarDisplayOptions display_flags;
 		public int focus_col;
 		public int focus_row;
 		public weak Gdk.GC gc;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public weak char[] grow_space;
 		public weak Gtk.Style header_style;
 		public int highlight_col;
 		public int highlight_row;
 		public weak Gtk.Style label_style;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public weak int[] marked_date;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public weak Gdk.Color[] marked_date_color;
 		public int num_marked_dates;
 		public int selected_day;
@@ -117,12 +117,12 @@
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class Caption : Gtk.EventBox, Atk.Implementor, Gtk.Buildable {
 		public bool get_child_expand ();
-		public weak Gtk.Widget get_icon_image ();
+		public unowned Gtk.Widget get_icon_image ();
 		public Hildon.CaptionIconPosition get_icon_position ();
-		public weak string get_label ();
+		public unowned string get_label ();
 		public float get_label_alignment ();
-		public weak string get_separator ();
-		public weak Gtk.SizeGroup get_size_group ();
+		public unowned string get_separator ();
+		public unowned Gtk.SizeGroup get_size_group ();
 		public Hildon.CaptionStatus get_status ();
 		public bool is_mandatory ();
 		[CCode (type = "GtkWidget*", has_construct_function = false)]
@@ -150,7 +150,7 @@
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class CodeDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
 		public void clear_code ();
-		public weak string get_code ();
+		public unowned string get_code ();
 		[CCode (type = "GtkWidget*", has_construct_function = false)]
 		public CodeDialog ();
 		public void set_help_text (string text);
@@ -227,7 +227,7 @@
 	public class FindToolbar : Gtk.Toolbar, Atk.Implementor, Gtk.Buildable {
 		public int get_active ();
 		public bool get_active_iter (out Gtk.TreeIter iter);
-		public int get_last_index ();
+		public int32 get_last_index ();
 		public void highlight_entry (bool get_focus);
 		[CCode (type = "GtkWidget*", has_construct_function = false)]
 		public FindToolbar (string label);
@@ -254,7 +254,7 @@
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class FontSelectionDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
-		public weak string get_preview_text ();
+		public unowned string get_preview_text ();
 		[CCode (type = "GtkWidget*", has_construct_function = false)]
 		public FontSelectionDialog (Gtk.Window parent, string title);
 		public void set_preview_text (string text);
@@ -296,7 +296,7 @@
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class GetPasswordDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
-		public weak string get_password ();
+		public unowned string get_password ();
 		[CCode (type = "GtkWidget*", has_construct_function = false)]
 		public GetPasswordDialog (Gtk.Window parent, bool get_old);
 		public void set_caption (string new_caption);
@@ -324,8 +324,8 @@
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class LoginDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
-		public weak string get_password ();
-		public weak string get_username ();
+		public unowned string get_password ();
+		public unowned string get_username ();
 		[CCode (type = "GtkWidget*", has_construct_function = false)]
 		public LoginDialog (Gtk.Window parent);
 		public void set_message (string msg);
@@ -377,9 +377,9 @@
 	public class Program : GLib.Object {
 		public void add_window (Hildon.Window window);
 		public bool get_can_hibernate ();
-		public weak Gtk.Menu get_common_menu ();
-		public weak Gtk.Toolbar get_common_toolbar ();
-		public static weak Hildon.Program get_instance ();
+		public unowned Gtk.Menu get_common_menu ();
+		public unowned Gtk.Toolbar get_common_toolbar ();
+		public static unowned Hildon.Program get_instance ();
 		public bool get_is_topmost ();
 		public void remove_window (Hildon.Window window);
 		public void set_can_hibernate (bool can_hibernate);
@@ -395,7 +395,7 @@
 		public int get_max ();
 		public int get_min ();
 		public void get_range (int start, int end);
-		public weak string get_separator ();
+		public unowned string get_separator ();
 		[CCode (type = "GtkWidget*", has_construct_function = false)]
 		public RangeEditor ();
 		public void set_higher (int value);
@@ -429,7 +429,7 @@
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class SetPasswordDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
-		public weak string get_password ();
+		public unowned string get_password ();
 		public bool get_protected ();
 		[CCode (type = "GtkWidget*", has_construct_function = false)]
 		public SetPasswordDialog (Gtk.Window parent, bool modify_protection);
@@ -501,7 +501,7 @@
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class Volumebar : Gtk.Container, Atk.Implementor, Gtk.Buildable {
-		public weak Gtk.Adjustment get_adjustment ();
+		public unowned Gtk.Adjustment get_adjustment ();
 		public double get_level ();
 		public bool get_mute ();
 		public void set_level (double level);
@@ -542,7 +542,7 @@
 		public void add_toolbar (Gtk.Toolbar toolbar);
 		public void add_with_scrollbar (Gtk.Widget child);
 		public bool get_is_topmost ();
-		public weak Gtk.Menu get_menu ();
+		public unowned Gtk.Menu get_menu ();
 		[CCode (type = "GtkWidget*", has_construct_function = false)]
 		public Window ();
 		public void remove_toolbar (Gtk.Toolbar toolbar);

Modified: trunk/vapi/libftdi.vapi
==============================================================================
--- trunk/vapi/libftdi.vapi	(original)
+++ trunk/vapi/libftdi.vapi	Sun Jan  4 17:54:44 2009
@@ -89,8 +89,7 @@
 		public int set_interface (Interface iface);
 		public void set_usbdev (USB.Device * usbdev);
 		public int usb_find_all (out DeviceList devlist, int vendor, int product);
-		[NoArrayLength]
-		public int usb_get_strings (USB.Device * usbdev, char[] manufacturer, int manufacturer_len, char[] description, int description_len, char[] serial, int serial_len);
+		public int usb_get_strings (USB.Device * usbdev, [CCode (array_length = false)] char[] manufacturer, int manufacturer_len, [CCode (array_length = false)] char[] description, int description_len, [CCode (array_length = false)] char[] serial, int serial_len);
 		public int usb_open_dev (USB.Device * usbdev);
 		public int usb_open (int vendor, int product);
 		public int usb_open_desc (int vendor, int product, string description, string serial);
@@ -99,12 +98,10 @@
 		public int usb_close ();
 		public int set_baudrate (int baudrate);
 		public int set_line_property (BitsType bits, StopBitsType sbit, ParityType parity);
-		[NoArrayLength]
-		public int write_data (uchar[] buf, int size);
+		public int write_data ([CCode (array_length = false)] uchar[] buf, int size);
 		public int write_data_set_chunksize (int chunksize);
 		public int write_data_get_chunksize (out int chunksize);
-		[NoArrayLength]
-		public int read_data (uchar[] buf, uint size);
+		public int read_data ([CCode (array_length = false)] uchar[] buf, uint size);
 		public int read_data_set_chunksize (int chunksize);
 		public int read_data_get_chunksize (out int chunksize);
 		public int enable_bitbang (uchar bitmask);
@@ -125,7 +122,7 @@
 		public ChipType type;
 		public int baudrate;
 		public uchar bitbang_enabled;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public uchar[] readbuffer;
 		public uint readbuffer_offset;
 		public uint readbuffer_remaining;
@@ -136,7 +133,6 @@
 		public int in_ep;
 		public int out_ep;
 		public uchar bitbang_mode;
-		[NoArrayLength]
 		public string error_str;
 	}
 }

Modified: trunk/vapi/libpanelapplet-2.0.vapi
==============================================================================
--- trunk/vapi/libpanelapplet-2.0.vapi	(original)
+++ trunk/vapi/libpanelapplet-2.0.vapi	Sun Jan  4 17:54:44 2009
@@ -29,8 +29,7 @@
 		public void set_flags (AppletFlags flags);
 		public static int factory_main (string iid, GLib.Type applet_type, AppletFactoryCallback callback);
 		public void set_background_widget (Gtk.Widget widget);
-		[NoArrayLength]
-		public void setup_menu (string xml, BonoboUI.Verb[] verb_list, void* data);
+		public void setup_menu (string xml, [CCode (array_length = false)] BonoboUI.Verb[] verb_list, void* data);
 		public signal void change_background (AppletBackgroundType type, ref Gdk.Color color, Gdk.Pixmap pixmap);
 	}
 

Modified: trunk/vapi/libusb.vapi
==============================================================================
--- trunk/vapi/libusb.vapi	(original)
+++ trunk/vapi/libusb.vapi	Sun Jan  4 17:54:44 2009
@@ -136,7 +136,7 @@
 		public uint8 bmAttributes;
 		public uint8 MaxPower;
 
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public Interface[] @interface;
 
 		public uchar[] extra;
@@ -168,7 +168,7 @@
 		public string filename;
 		public Bus * bus;
 		public DeviceDescriptor descriptor;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public ConfigDescriptor[] config;
 		public void * dev;
 		public uint8 devnum;
@@ -191,21 +191,15 @@
 	public class DeviceHandle {
 		[CCode (cname = "usb_open")]
 		public DeviceHandle (Device * dev);
-		[NoArrayLength]
-		public int get_string (int index, int langid, char[] buf, size_t buflen);
-		[NoArrayLength]
-		public int get_string_simple (int index, char[] buf, size_t buflen);
+		public int get_string (int index, int langid, [CCode (array_length = false)] char[] buf, size_t buflen);
+		public int get_string_simple (int index, [CCode (array_length = false)] char[] buf, size_t buflen);
 
 		public int get_descriptor_by_endpoint (int ep, uchar type, uchar index, void * buf, int size);
 		public int get_descriptor (uchar type, uchar index, void * buf, int size);
-		[NoArrayLength]
-		public int bulk_write (int ep, char[] bytes, int size, int timeout);
-		[NoArrayLength]
-		public int bulk_read (int ep, char[] bytes, int size, int timeout);
-		[NoArrayLength]
-		public int interrupt_write (int ep, char[] bytes, int size, int timeout);
-		[NoArrayLength]
-		public int interrupt_read (int ep, char[] bytes, int size, int timeout);
+		public int bulk_write (int ep, [CCode (array_length = false)] char[] bytes, int size, int timeout);
+		public int bulk_read (int ep, [CCode (array_length = false)] char[] bytes, int size, int timeout);
+		public int interrupt_write (int ep, [CCode (array_length = false)] char[] bytes, int size, int timeout);
+		public int interrupt_read (int ep, [CCode (array_length = false)] char[] bytes, int size, int timeout);
 		public int control_msg (int requesttype, int request, int value, int index, char[] bytes, int size, int timeout);
 		public int set_configuration (int configuration);
 		public int claim_interface (int @interface);
@@ -217,7 +211,7 @@
 		public Device * device ();
 	}
 
-	[NoArrayLength]
+	[CCode (array_length = false)]
 	public static weak char[] strerror ();
 	public static void init ();
 	public static void set_debug (int level);

Modified: trunk/vapi/libxml-2.0.vapi
==============================================================================
--- trunk/vapi/libxml-2.0.vapi	(original)
+++ trunk/vapi/libxml-2.0.vapi	Sun Jan  4 17:54:44 2009
@@ -27,8 +27,7 @@
 	/* nanoftp - minimal FTP implementation */
 
 	[CCode (cname = "ftpDataCallback", cheader_filename = "libxml/nanoftp.h")]
-	[NoArrayLength]
-	public static delegate void FtpDataCallback (void* userData, char[] data, int len);
+	public static delegate void FtpDataCallback (void* userData, [CCode (array_length = false)] char[] data, int len);
 
 	[CCode (cname = "ftpListCallback", cheader_filename = "libxml/nanoftp.h")]
 	public static delegate void FtpListCallback (void* userData, string filename, string attrib, string owner, string group, ulong size, int links, int year, string month, int day, int hour, int minute);
@@ -805,8 +804,7 @@
 	public static delegate int InputCloseCallback (void* context);
 
 	[CCode (cname = "xmlInputReadCallback", cheader_filename = "libxml/xmlIO.h")]
-	[NoArrayLength]
-	public static delegate int InputReadCallback (void* context, char[] buffer, int len);
+	public static delegate int InputReadCallback (void* context, [CCode (array_length = false)] char[] buffer, int len);
 
 
 	/* xmlschemas - incomplete XML Schemas structure implementation */
@@ -876,8 +874,7 @@
 		public TextReader.for_io (InputReadCallback ioread, InputCloseCallback ioclose, void* ioctx, string url, string encoding, int options);
 
 		[CCode (cname = "xmlReaderForMemory")]
-		[NoArrayLength]
-		public TextReader.for_memory (char[] buffer, int size, string url, string encoding, int options);
+		public TextReader.for_memory ([CCode (array_length = false)] char[] buffer, int size, string url, string encoding, int options);
 
 		[CCode (cname = "xmlReaderNewDoc")]
 		public int new_doc (string cur, string url, string? encoding, int options);
@@ -892,8 +889,7 @@
 		public int new_io (InputReadCallback ioread, InputCloseCallback ioclose, void* ioctx, string url, string encoding, int options);
 
 		[CCode (cname = "xmlReaderNewMemory")]
-		[NoArrayLength]
-		public int new_memory (char[] buffer, int size, string url, string? encoding, int options);
+		public int new_memory ([CCode (array_length = false)] char[] buffer, int size, string url, string? encoding, int options);
 
 		[CCode (cname = "xmlReaderNewWalker")]
 		public int new_walker (Doc* doc);
@@ -1043,8 +1039,7 @@
 		public Node* preserve ();
 
 		[CCode (cname = "xmlTextReaderPreservePattern")]
-		[NoArrayLength]
-		public int preserve_pattern (string pattern, string[] namespaces);
+		public int preserve_pattern (string pattern, [CCode (array_length = false)] string[] namespaces);
 
 		[CCode (cname = "xmlTextReaderQuoteChar")]
 		public int quote_char ();
@@ -1283,13 +1278,11 @@
 	[CCode (cname = "startDocumentSAXFunc")]
 	public static delegate void startDocumentSAXFunc (void* ctx);
 
-	[NoArrayLength]
 	[CCode (cname = "startElementNsSAX2Func")]
-	public static delegate void startElementNsSAX2Func (void* ctx, string localname, string prefix, string URI, int nb_namespaces, string[] namespaces, int nb_attributes, int nb_defaulted, string[] attributes);
+	public static delegate void startElementNsSAX2Func (void* ctx, string localname, string prefix, string URI, int nb_namespaces, [CCode (array_length = false)] string[] namespaces, int nb_attributes, int nb_defaulted, [CCode (array_length = false)] string[] attributes);
 
-	[NoArrayLength]
 	[CCode (cname = "startElementSAXFunc")]
-	public static delegate void startElementSAXFunc (void* ctx, string name, string[] atts);
+	public static delegate void startElementSAXFunc (void* ctx, string name, [CCode (array_length = false)] string[] atts);
 
 	[CCode (cname = "unparsedEntityDeclSAXFunc")]
 	public static delegate void unparsedEntityDeclSAXFunc (void* ctx, string name, string publicId, string systemId, string notationName);

Modified: trunk/vapi/packages/unique-1.0/unique-1.0.metadata
==============================================================================
--- trunk/vapi/packages/unique-1.0/unique-1.0.metadata	(original)
+++ trunk/vapi/packages/unique-1.0/unique-1.0.metadata	Sun Jan  4 17:54:44 2009
@@ -7,5 +7,4 @@
 unique_message_data_set.data nullable="1"
 unique_message_data_get_text transfer_ownership="1"
 unique_message_data_get_uris is_array="1" no_array_length="1" transfer_ownership="1"
-unique_message_data_set_uris no_array_length="1"
-unique_message_data_set_uris.uris is_array="1"
+unique_message_data_set_uris.uris is_array="1" no_array_length="1"

Modified: trunk/vapi/sdl-gfx.vapi
==============================================================================
--- trunk/vapi/sdl-gfx.vapi	(original)
+++ trunk/vapi/sdl-gfx.vapi	Sun Jan  4 17:54:44 2009
@@ -180,33 +180,27 @@
 	[Compact]
 	public class Polygon {
 		[CCode (cname="polygonColor")]
-		[NoArrayLength]
-		public static int outline_color(Surface dst, int16[] vx, int16[] vy, 
+		public static int outline_color(Surface dst, [CCode (array_length = false)] int16[] vx, [CCode (array_length = false)] int16[] vy, 
 			int n, uint32 color);
 
 		[CCode (cname="polygonRGBA")]
-		[NoArrayLength]
-		public static int outline_rgba(Surface dst, int16[] vx, int16[] vy, 
+		public static int outline_rgba(Surface dst, [CCode (array_length = false)] int16[] vx, [CCode (array_length = false)] int16[] vy, 
 			int n, uchar r, uchar g, uchar b, uchar a);
 
 		[CCode (cname="aapolygonColor")]
-		[NoArrayLength]
-		public static int outline_color_aa(Surface dst, int16[] vx, int16[] vy, 
+		public static int outline_color_aa(Surface dst, [CCode (array_length = false)] int16[] vx, [CCode (array_length = false)] int16[] vy, 
 			int n, uint32 color);
 
 		[CCode (cname="aapolygonRGBA")]
-		[NoArrayLength]
-		public static int outline_rgba_aa(Surface dst, int16[] vx, int16[] vy, 
+		public static int outline_rgba_aa(Surface dst, [CCode (array_length = false)] int16[] vx, [CCode (array_length = false)] int16[] vy, 
 			int n, uchar r, uchar g, uchar b, uchar a);
 
 		[CCode (cname="filledPolygonColor")]
-		[NoArrayLength]
-		public static int fill_color(Surface dst, int16[] vx, int16[] vy, 
+		public static int fill_color(Surface dst, [CCode (array_length = false)] int16[] vx, [CCode (array_length = false)] int16[] vy, 
 			int n, uint32 color);
 
 		[CCode (cname="filledPolygonRGBA")]
-		[NoArrayLength]
-		public static int fill_rgba(Surface dst, int16[] vx, int16[] vy, 
+		public static int fill_rgba(Surface dst, [CCode (array_length = false)] int16[] vx, [CCode (array_length = false)] int16[] vy, 
 			int n, uchar r, uchar g, uchar b, uchar a);
 	}// Polygon
 
@@ -214,13 +208,11 @@
 	[Compact]
 	public class BezierCurve {
 		[CCode (cname="bezierColor")]
-		[NoArrayLength]
-		public static int color(Surface dst, int16[] vx, int16[] vy, 
+		public static int color(Surface dst, [CCode (array_length = false)] int16[] vx, [CCode (array_length = false)] int16[] vy, 
 			int vertices, int steps, uint32 color);
 
 		[CCode (cname="bezierRGBA")]
-		[NoArrayLength]
-		public static int rgba(Surface dst, int16[] vx, int16[] vy, 
+		public static int rgba(Surface dst, [CCode (array_length = false)] int16[] vx, [CCode (array_length = false)] int16[] vy, 
 			int vertices, int steps, uchar r, uchar g, uchar b, uchar a);
 	}// BezierCurve
 
@@ -295,147 +287,111 @@
 		public static void disable_mmx();
 
 		[CCode (cname="SDL_imageFilterAdd")]
-		[NoArrayLength]
-		public static int add(uchar[] src1, uchar[] src2, uchar[] dst, int length);
+		public static int add([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] src2, [CCode (array_length = false)] uchar[] dst, int length);
 
 		[CCode (cname="SDL_imageFilterMean")]
-		[NoArrayLength]
-		public static int mean(uchar[] src1, uchar[] src2, uchar[] dst, int length);
+		public static int mean([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] src2, [CCode (array_length = false)] uchar[] dst, int length);
 
 		[CCode (cname="SDL_imageFilterSub")]
-		[NoArrayLength]
-		public static int subtract(uchar[] src1, uchar[] src2, uchar[] dst, int length);
+		public static int subtract([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] src2, [CCode (array_length = false)] uchar[] dst, int length);
 
 		[CCode (cname="SDL_imageFilterAbsDiff")]
-		[NoArrayLength]
-		public static int absolute_difference(uchar[] src1, uchar[] src2, uchar[] dst, int length);
+		public static int absolute_difference([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] src2, [CCode (array_length = false)] uchar[] dst, int length);
 
 		[CCode (cname="SDL_imageFilterMult")]
-		[NoArrayLength]
-		public static int multiply(uchar[] src1, uchar[] src2, uchar[] dst, int length);
+		public static int multiply([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] src2, [CCode (array_length = false)] uchar[] dst, int length);
 
 		[CCode (cname="SDL_imageFilterMultNor")]
-		[NoArrayLength]
-		public static int multiply_normalized(uchar[] src1, uchar[] src2, uchar[] dst, int length);
+		public static int multiply_normalized([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] src2, [CCode (array_length = false)] uchar[] dst, int length);
 
 		[CCode (cname="SDL_imageFilterMultDivby2")]
-		[NoArrayLength]
-		public static int multiply_half(uchar[] src1, uchar[] src2, uchar[] dst, int length);
+		public static int multiply_half([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] src2, [CCode (array_length = false)] uchar[] dst, int length);
 
 		[CCode (cname="SDL_imageFilterMultDivby4")]
-		[NoArrayLength]
-		public static int multiply_quarter(uchar[] src1, uchar[] src2, uchar[] dst, int length);
+		public static int multiply_quarter([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] src2, [CCode (array_length = false)] uchar[] dst, int length);
 
 		[CCode (cname="SDL_imageFilterBitAnd")]
-		[NoArrayLength]
-		public static int and(uchar[] src1, uchar[] src2, uchar[] dst, int length);
+		public static int and([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] src2, [CCode (array_length = false)] uchar[] dst, int length);
 
 		[CCode (cname="SDL_imageFilterBitOr")]
-		[NoArrayLength]
-		public static int or(uchar[] src1, uchar[] src2, uchar[] dst, int length);
+		public static int or([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] src2, [CCode (array_length = false)] uchar[] dst, int length);
 
 		[CCode (cname="SDL_imageFilterDiv")]
-		[NoArrayLength]
-		public static int divide(uchar[] src1, uchar[] src2, uchar[] dst, int length);
+		public static int divide([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] src2, [CCode (array_length = false)] uchar[] dst, int length);
 
 		[CCode (cname="SDL_imageFilterBitNegation")]
-		[NoArrayLength]
-		public static int negate(uchar[] src1, uchar[] dst, int length);
+		public static int negate([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length);
 
 		[CCode (cname="SDL_imageFilterAddByte")]
-		[NoArrayLength]
-		public static int add_uchar(uchar[] src1, uchar[] dst, int length, uchar addend);
+		public static int add_uchar([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uchar addend);
 
 		[CCode (cname="SDL_imageFilterAddUint")]
-		[NoArrayLength]
-		public static int add_uint(uchar[] src1, uchar[] dst, int length, uint addend);
+		public static int add_uint([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uint addend);
 
 		[CCode (cname="SDL_imageFilterAddByteToHalf")]
-		[NoArrayLength]
-		public static int halve_add_uchar(uchar[] src1, uchar[] dst, int length, uchar addend);
+		public static int halve_add_uchar([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uchar addend);
 
 		[CCode (cname="SDL_imageFilterSubByte")]
-		[NoArrayLength]
-		public static int subtract_uchar(uchar[] src1, uchar[] dst, int length, uchar subtrahend);
+		public static int subtract_uchar([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uchar subtrahend);
 
 		[CCode (cname="SDL_imageFilterSubUint")]
-		[NoArrayLength]
-		public static int subtract_uint(uchar[] src1, uchar[] dst, int length, uint subtrahend);
+		public static int subtract_uint([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uint subtrahend);
 
 		[CCode (cname="SDL_imageFilterShiftRight")]
-		[NoArrayLength]
-		public static int shift_right_uchar(uchar[] src1, uchar[] dst, int length, uchar shiftcount);
+		public static int shift_right_uchar([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uchar shiftcount);
 
 		[CCode (cname="SDL_imageFilterShiftRightUint")]
-		[NoArrayLength]
-		public static int shift_right_uint(uchar[] src1, uchar[] dst, int length, uint shiftcount);
+		public static int shift_right_uint([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uint shiftcount);
 
 		[CCode (cname="SDL_imageFilterMultByByte")]
-		[NoArrayLength]
-		public static int multiply_uchar(uchar[] src1, uchar[] dst, int length, uchar multiplicand);
+		public static int multiply_uchar([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uchar multiplicand);
 
 		[CCode (cname="SDL_imageFilterShiftRightAndMultByByte")]
-		[NoArrayLength]
-		public static int shift_right_multiply_uchar(uchar[] src1, uchar[] dst, int length, uchar shiftcount, uchar multiplicand);
+		public static int shift_right_multiply_uchar([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uchar shiftcount, uchar multiplicand);
 
 		[CCode (cname="SDL_imageFilterShiftLeftByte")]
-		[NoArrayLength]
-		public static int shift_left_uchar(uchar[] src1, uchar[] dst, int length, uchar shiftcount);
+		public static int shift_left_uchar([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uchar shiftcount);
 
 		[CCode (cname="SDL_imageFilterShiftLeftUint")]
-		[NoArrayLength]
-		public static int shift_left_uint(uchar[] src1, uchar[] dst, int length, uint shiftcount);
+		public static int shift_left_uint([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uint shiftcount);
 
 		[CCode (cname="SDL_imageFilterBinarizeUsingThreshold")]
-		[NoArrayLength]
-		public static int binarize(uchar[] src1, uchar[] dst, int length, uchar threshold);
+		public static int binarize([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uchar threshold);
 
 		[CCode (cname="SDL_imageFilterClipToRange")]
-		[NoArrayLength]
-		public static int clip(uchar[] src1, uchar[] dst, int length, uchar min, uchar max);
+		public static int clip([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, uchar min, uchar max);
 
 		[CCode (cname="SDL_imageFilterNormalize")]
-		[NoArrayLength]
-		public static int normalize(uchar[] src1, uchar[] dst, int length, int cmin, int cmax, int nmin, int nmax);
+		public static int normalize([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int length, int cmin, int cmax, int nmin, int nmax);
 
 		[CCode (cname="SDL_imageFilterConvolveKernel3x3Divide")]
-		[NoArrayLength]
-		public static int convolve_3x3_divide(uchar[] src1, uchar[] dst, int rows, int columns, int16[] kernel, uchar divisor);
+		public static int convolve_3x3_divide([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int rows, int columns, [CCode (array_length = false)] int16[] kernel, uchar divisor);
 
 		[CCode (cname="SDL_imageFilterConvolveKernel5x5Divide")]
-		[NoArrayLength]
-		public static int convolve_5x5_divide(uchar[] src1, uchar[] dst, int rows, int columns, int16[] kernel, uchar divisor);
+		public static int convolve_5x5_divide([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int rows, int columns, [CCode (array_length = false)] int16[] kernel, uchar divisor);
 
 		[CCode (cname="SDL_imageFilterConvolveKernel7x7Divide")]
-		[NoArrayLength]
-		public static int convolve_7x7_divide(uchar[] src1, uchar[] dst, int rows, int columns, int16[] kernel, uchar divisor);
+		public static int convolve_7x7_divide([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int rows, int columns, [CCode (array_length = false)] int16[] kernel, uchar divisor);
 
 		[CCode (cname="SDL_imageFilterConvolveKernel9x9Divide")]
-		[NoArrayLength]
-		public static int convolve_9x9_divide(uchar[] src1, uchar[] dst, int rows, int columns, int16[] kernel, uchar divisor);
+		public static int convolve_9x9_divide([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int rows, int columns, [CCode (array_length = false)] int16[] kernel, uchar divisor);
 
 		[CCode (cname="SDL_imageFilterConvolveKernel3x3ShiftRight")]
-		[NoArrayLength]
-		public static int convolve_3x3_shift(uchar[] src1, uchar[] dst, int rows, int columns, int16[] kernel, uchar shiftcount);
+		public static int convolve_3x3_shift([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int rows, int columns, [CCode (array_length = false)] int16[] kernel, uchar shiftcount);
 
 		[CCode (cname="SDL_imageFilterConvolveKernel5x5ShiftRight")]
-		[NoArrayLength]
-		public static int convolve_5x5_shift(uchar[] src1, uchar[] dst, int rows, int columns, int16[] kernel, uchar shiftcount);
+		public static int convolve_5x5_shift([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int rows, int columns, [CCode (array_length = false)] int16[] kernel, uchar shiftcount);
 
 		[CCode (cname="SDL_imageFilterConvolveKernel7x7ShiftRight")]
-		[NoArrayLength]
-		public static int convolve_7x7_shift(uchar[] src1, uchar[] dst, int rows, int columns, int16[] kernel, uchar shiftcount);
+		public static int convolve_7x7_shift([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int rows, int columns, [CCode (array_length = false)] int16[] kernel, uchar shiftcount);
 
 		[CCode (cname="SDL_imageFilterConvolveKernel9x9ShiftRight")]
-		[NoArrayLength]
-		public static int convolve_9x9_shift(uchar[] src1, uchar[] dst, int rows, int columns, int16[] kernel, uchar shiftcount);
+		public static int convolve_9x9_shift([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int rows, int columns, [CCode (array_length = false)] int16[] kernel, uchar shiftcount);
 
 		[CCode (cname="SDL_imageFilterSobelX")]
-		[NoArrayLength]
-		public static int sobel(uchar[] src1, uchar[] dst, int rows, int columns);
+		public static int sobel([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int rows, int columns);
 
 		[CCode (cname="SDL_imageFilterSobelXShiftRight")]
-		[NoArrayLength]
-		public static int sobel_shift(uchar[] src1, uchar[] dst, int rows, int columns, uchar shiftcount);
+		public static int sobel_shift([CCode (array_length = false)] uchar[] src1, [CCode (array_length = false)] uchar[] dst, int rows, int columns, uchar shiftcount);
 	}// Filter
 }// SDLGraphics

Modified: trunk/vapi/sdl-mixer.vapi
==============================================================================
--- trunk/vapi/sdl-mixer.vapi	(original)
+++ trunk/vapi/sdl-mixer.vapi	Sun Jan  4 17:54:44 2009
@@ -47,8 +47,7 @@
 		public Chunk.WAV(RWops src, int freesrc=0);
 
 		[CCode (cname="Mix_QuickLoad_WAV")]
-		[NoArrayLength]
-		public Chunk.QuickWAV(uchar[] mem);
+		public Chunk.QuickWAV([CCode ([CCode (array_length = false)] uchar[] mem);
 
 		[CCode (cname="Mix_QuickLoad_RAW")]
 		public Chunk.QuickRAW(uchar[] mem);

Modified: trunk/vapi/sdl-net.vapi
==============================================================================
--- trunk/vapi/sdl-net.vapi	(original)
+++ trunk/vapi/sdl-net.vapi	Sun Jan  4 17:54:44 2009
@@ -56,7 +56,6 @@
 		 * If 'host' is NULL, the resolved host will be set to INADDR_ANY.
 		 */
 		[CCode (cname="SDLNet_ResolveHost")]
-		[NoArrayLength]
 		public static int from_host(IPAddress address, string host, uint16 port);
 
 		/**
@@ -249,8 +248,7 @@
 		 * on error.  This function does not block, so can return 0 packets pending.
 		 */
 		[CCode (cname="SDLNet_UDP_RecvV")]
-		[NoArrayLength]
-		public int receive_many(UDPPacket[] packets);
+		public int receive_many([CCode (array_length = false)] UDPPacket[] packets);
 	}// UDPSocket
 
 	[CCode (cname="struct _SDLNet_SocketSet", free_function="SDLNet_FreeSocketSet")]

Modified: trunk/vapi/sdl-ttf.vapi
==============================================================================
--- trunk/vapi/sdl-ttf.vapi	(original)
+++ trunk/vapi/sdl-ttf.vapi	Sun Jan  4 17:54:44 2009
@@ -79,8 +79,7 @@
 		public int size_utf8(string text, ref int w, ref int h);
 
 		[CCode (cname="TTF_SizeUNICODE")]
-		[NoArrayLength]
-		public int size_unicode(uint16[] text, ref int w, ref int h);
+		public int size_unicode([CCode (array_length = false)] uint16[] text, ref int w, ref int h);
 
 		[CCode (cname="TTF_RenderText_Solid")]
 		public Surface? render(string text, Color fg);
@@ -89,8 +88,7 @@
 		public Surface? render_utf8(string text, Color fg);
 
 		[CCode (cname="TTF_RenderUNICODE_Solid")]
-		[NoArrayLength]
-		public Surface? render_unicode(uint16[] text, Color fg);
+		public Surface? render_unicode([CCode (array_length = false)] uint16[] text, Color fg);
 
 		[CCode (cname="TTF_RenderText_Shaded")]
 		public Surface? render_shaded(string text, Color fg, Color bg);
@@ -99,8 +97,7 @@
 		public Surface? render_shaded_utf8(string text, Color fg, Color bg);
 
 		[CCode (cname="TTF_RenderUNICODE_Shaded")]
-		[NoArrayLength]
-		public Surface? render_shaded_unicode(uint16[] text, Color fg, Color bg);
+		public Surface? render_shaded_unicode([CCode (array_length = false)] uint16[] text, Color fg, Color bg);
 
 		[CCode (cname="TTF_RenderText_Blended")]
 		public Surface? render_blended(string text, Color fg);
@@ -109,7 +106,6 @@
 		public Surface? render_blended_utf8(string text, Color fg);
 
 		[CCode (cname="TTF_RenderUNICODE_Blended")]
-		[NoArrayLength]
-		public Surface? render_blended_unicode(uint16[] text, Color fg);
+		public Surface? render_blended_unicode([CCode (array_length = false)] uint16[] text, Color fg);
 	}// Font
 }// SDLTTF

Modified: trunk/vapi/sqlite3.vapi
==============================================================================
--- trunk/vapi/sqlite3.vapi	(original)
+++ trunk/vapi/sqlite3.vapi	Sun Jan  4 17:54:44 2009
@@ -36,10 +36,8 @@
 		public int total_changes ();
 
 		public int complete (string sql);
-		[NoArrayLength]
-		public int get_table (string sql, out weak string[] resultp, out int nrow, out int ncolumn, out string errmsg);
-		[NoArrayLength]
-		public static void free_table (string[] result);
+		public int get_table (string sql, [CCode (array_length = false)] out weak string[] resultp, out int nrow, out int ncolumn, out string errmsg);
+		public static void free_table ([CCode (array_length = false)] string[] result);
 		public static int open (string filename, out Database db);
 		public static int open_v2 (string filename, out Database db, int flags = OPEN_READWRITE | OPEN_CREATE, string? zVfs = null);
 		public int errcode ();
@@ -81,9 +79,8 @@
 		public int to_numeric_type ();
 	}
 
-	[NoArrayLength]
 	[CCode (cname = "sqlite3_callback", instance_pos = 0)]
-	public delegate int Callback (int n_columns, string[] values, string[] column_names);
+	public delegate int Callback (int n_columns, [CCode (array_length = false)] string[] values, [CCode (array_length = false)] string[] column_names);
 
 	[CCode (cname = "SQLITE_OK")]
 	public const int OK;

Modified: trunk/vapi/tiff.vapi
==============================================================================
--- trunk/vapi/tiff.vapi	(original)
+++ trunk/vapi/tiff.vapi	Sun Jan  4 17:54:44 2009
@@ -59,11 +59,11 @@
 		public float Y0;
 		public float Z0;
 		public Display display;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public float[] Yr2r;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public float[] Yg2g;
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public float[] Yb2b;
 	}
 
@@ -713,18 +713,14 @@
 		public tsize_t ReadEncodedStrip (tstrip_t p1, tdata_t p2, tsize_t p3);
 		[CCode (cname = "TIFFReadEncodedTile")]
 		public tsize_t ReadEncodedTile (ttile_t p1, tdata_t p2, tsize_t p3);
-		[NoArrayLength]
 		[CCode (cname = "TIFFReadRGBAImage")]
-		public bool ReadRGBAImage (uint32 p1, uint32 p2, uint32[] p3, int p4);
-		[NoArrayLength]
+		public bool ReadRGBAImage (uint32 p1, uint32 p2, [CCode (array_length = false)] uint32[] p3, int p4);
 		[CCode (cname = "TIFFReadRGBAImageOriented")]
-		public bool ReadRGBAImageOriented (uint32 p1, uint32 p2, uint32[] p3, int p4, int p5);
-		[NoArrayLength]
+		public bool ReadRGBAImageOriented (uint32 p1, uint32 p2, [CCode (array_length = false)] uint32[] p3, int p4, int p5);
 		[CCode (cname = "TIFFReadRGBAStrip")]
-		public bool ReadRGBAStrip (tstrip_t p1, uint32[] p2);
-		[NoArrayLength]
+		public bool ReadRGBAStrip (tstrip_t p1, [CCode (array_length = false)] uint32[] p2);
 		[CCode (cname = "TIFFReadRGBATile")]
-		public bool ReadRGBATile (uint32 p1, uint32 p2, uint32[] p3);
+		public bool ReadRGBATile (uint32 p1, uint32 p2, [CCode (array_length = false)] uint32[] p3);
 		[CCode (cname = "TIFFReadRawStrip")]
 		public tsize_t ReadRawStrip (tstrip_t p1, tdata_t p2, tsize_t p3);
 		[CCode (cname = "TIFFReadRawTile")]
@@ -834,9 +830,8 @@
 		public static int IsCODECConfigured (ushort p1);
 		[CCode (cname = "TIFFRGBAImageEnd")]
 		public static void RGBAImageEnd (RGBAImage p1);
-		[NoArrayLength]
 		[CCode (cname = "TIFFRGBAImageGet")]
-		public static int RGBAImageGet (RGBAImage p1, uint32[] p2, uint32 p3, uint32 p4);
+		public static int RGBAImageGet (RGBAImage p1, [CCode (array_length = false)] uint32[] p2, uint32 p3, uint32 p4);
 		[CCode (cname = "TIFFReassignTagToIgnore")]
 		public static int ReassignTagToIgnore (IgnoreSense p1, int p2);
 		[CCode (cname = "TIFFRegisterCODEC")]

Modified: trunk/vapi/unique-1.0.vapi
==============================================================================
--- trunk/vapi/unique-1.0.vapi	(original)
+++ trunk/vapi/unique-1.0.vapi	Sun Jan  4 17:54:44 2009
@@ -1,4 +1,4 @@
-/* unique-1.0.vapi generated by lt-vapigen, do not modify. */
+/* unique-1.0.vapi generated by vapigen, do not modify. */
 
 [CCode (cprefix = "Unique", lower_case_cprefix = "unique_")]
 namespace Unique {
@@ -28,10 +28,10 @@
 		public weak Gdk.Screen screen;
 		public weak string startup_id;
 		public uint workspace;
-		public static weak Unique.Backend create ();
-		public weak string get_name ();
-		public weak Gdk.Screen get_screen ();
-		public weak string get_startup_id ();
+		public static unowned Unique.Backend create ();
+		public unowned string get_name ();
+		public unowned Gdk.Screen get_screen ();
+		public unowned string get_startup_id ();
 		public uint get_workspace ();
 		public virtual bool request_name ();
 		public virtual Unique.Response send_message (int command_id, Unique.MessageData message_data, uint time_);
@@ -43,18 +43,17 @@
 	[CCode (copy_function = "unique_message_data_copy", cheader_filename = "unique/unique.h")]
 	public class MessageData {
 		public Unique.MessageData copy ();
-		public weak Gdk.Screen get_screen ();
-		public weak string get_startup_id ();
+		public unowned Gdk.Screen get_screen ();
+		public unowned string get_startup_id ();
 		public string get_text ();
-		[NoArrayLength]
+		[CCode (array_length = false)]
 		public string[] get_uris ();
 		public uint get_workspace ();
 		[CCode (has_construct_function = false)]
 		public MessageData ();
 		public void set (uchar[]? data, size_t length);
 		public bool set_text (string str, ssize_t length);
-		[NoArrayLength]
-		public bool set_uris (string[] uris);
+		public bool set_uris ([CCode (array_length = false)] string[] uris);
 	}
 	[CCode (cprefix = "UNIQUE_", has_type_id = "0", cheader_filename = "unique/unique.h")]
 	public enum Command {



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