tools/pdbgen/lib.pl libgimp/gimpchannel_pdb.c libgimp/gimpcolor_pdb.[ch]

* tools/pdbgen/lib.pl
* libgimp/gimpchannel_pdb.c
* libgimp/gimpcolor_pdb.[ch]
* libgimp/gimpdrawable_pdb.[ch]
* libgimp/gimpgimprc_pdb.[ch]
* libgimp/gimpgradientselect_pdb.c
* libgimp/gimpimage_pdb.c
* libgimp/gimppaths_pdb.[ch]
* libgimp/gimpselection_pdb.[ch]
* libgimp/gimptexttool_pdb.c
* libgimp/gimptools_pdb.c: landed the genned files from the changes
below. Minimal code changes (some failure case return values changed,
hopefully this won't break anything)

-Yosh
This commit is contained in:
Manish Singh 2000-06-22 20:06:02 +00:00
parent 4c86a2bb8c
commit e79d0af89d
18 changed files with 200 additions and 155 deletions

View File

@ -1,3 +1,19 @@
Thu Jun 22 13:02:01 PDT 2000 Manish Singh <yosh@gimp.org>
* tools/pdbgen/lib.pl
* libgimp/gimpchannel_pdb.c
* libgimp/gimpcolor_pdb.[ch]
* libgimp/gimpdrawable_pdb.[ch]
* libgimp/gimpgimprc_pdb.[ch]
* libgimp/gimpgradientselect_pdb.c
* libgimp/gimpimage_pdb.c
* libgimp/gimppaths_pdb.[ch]
* libgimp/gimpselection_pdb.[ch]
* libgimp/gimptexttool_pdb.c
* libgimp/gimptools_pdb.c: landed the genned files from the changes
below. Minimal code changes (some failure case return values changed,
hopefully this won't break anything)
Wed Jun 21 20:18:16 PDT 2000 Manish Singh <yosh@gimp.org>
* tools/pdbgen/lib.pl

View File

@ -1780,13 +1780,13 @@ layer_set_linked_invoker (Argument *args)
{
gboolean success = TRUE;
GimpLayer *layer;
gint32 linked;
gboolean linked;
layer = layer_get_ID (args[0].value.pdb_int);
if (layer == NULL)
success = FALSE;
linked = args[1].value.pdb_int;
linked = args[1].value.pdb_int ? TRUE : FALSE;
if (success)
layer->linked = linked;

View File

@ -320,6 +320,3 @@ gimp_channel_set_tattoo (gint32 channel_ID,
gimp_destroy_params (return_vals, nreturn_vals);
}

View File

@ -214,7 +214,13 @@ gimp_histogram (gint32 drawable_ID,
PARAM_INT32, end_range,
PARAM_END);
*mean = *std_dev = *median = *pixels = *count = *percentile = 0;
*mean = 0.0;
*std_dev = 0.0;
*median = 0.0;
*pixels = 0.0;
*count = 0.0;
*percentile = 0.0;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{
*mean = return_vals[1].data.d_float;

View File

@ -31,54 +31,54 @@ extern "C" {
/* For information look into the C source or the html documentation */
void gimp_brightness_contrast (gint32 drawable_ID,
gint brightness,
gint contrast);
void gimp_levels (gint32 drawable_ID,
GimpChannelLutType channel,
gint low_input,
gint high_input,
gdouble gamma,
gint low_output,
gint high_output);
void gimp_posterize (gint32 drawable_ID,
gint levels);
void gimp_desaturate (gint32 drawable_ID);
void gimp_equalize (gint32 drawable_ID,
gboolean mask_only);
void gimp_invert (gint32 drawable_ID);
void gimp_curves_spline (gint32 drawable_ID,
GimpChannelLutType channel,
gint num_points,
guint8 *control_pts);
void gimp_curves_explicit (gint32 drawable_ID,
GimpChannelLutType channel,
gint num_bytes,
guint8 *curve);
void gimp_color_balance (gint32 drawable_ID,
GimpTransferMode transfer_mode,
gboolean preserve_lum,
gdouble cyan_red,
gdouble magenta_green,
gdouble yellow_blue);
void gimp_histogram (gint32 drawable_ID,
GimpChannelLutType channel,
gint start_range,
gint end_range,
gdouble *mean,
gdouble *std_dev,
gdouble *median,
gdouble *pixels,
gdouble *count,
gdouble *percentile);
void gimp_hue_saturation (gint32 drawable_ID,
GimpHueRange hue_range,
gdouble hue_offset,
gdouble lightness,
gdouble saturation);
void gimp_threshold (gint32 drawable_ID,
gint low_threshold,
gint high_threshold);
void gimp_brightness_contrast (gint32 drawable_ID,
gint brightness,
gint contrast);
void gimp_levels (gint32 drawable_ID,
GimpChannelLutType channel,
gint low_input,
gint high_input,
gdouble gamma,
gint low_output,
gint high_output);
void gimp_posterize (gint32 drawable_ID,
gint levels);
void gimp_desaturate (gint32 drawable_ID);
void gimp_equalize (gint32 drawable_ID,
gboolean mask_only);
void gimp_invert (gint32 drawable_ID);
void gimp_curves_spline (gint32 drawable_ID,
GimpChannelLutType channel,
gint num_points,
guint8 *control_pts);
void gimp_curves_explicit (gint32 drawable_ID,
GimpChannelLutType channel,
gint num_bytes,
guint8 *curve);
void gimp_color_balance (gint32 drawable_ID,
GimpTransferMode transfer_mode,
gboolean preserve_lum,
gdouble cyan_red,
gdouble magenta_green,
gdouble yellow_blue);
void gimp_histogram (gint32 drawable_ID,
GimpChannelLutType channel,
gint start_range,
gint end_range,
gdouble *mean,
gdouble *std_dev,
gdouble *median,
gdouble *pixels,
gdouble *count,
gdouble *percentile);
void gimp_hue_saturation (gint32 drawable_ID,
GimpHueRange hue_range,
gdouble hue_offset,
gdouble lightness,
gdouble saturation);
void gimp_threshold (gint32 drawable_ID,
gint low_threshold,
gint high_threshold);
#ifdef __cplusplus

View File

@ -93,7 +93,6 @@ gimp_drawable_mask_bounds (gint32 drawable_ID,
PARAM_DRAWABLE, drawable_ID,
PARAM_END);
*x1 = *y1 = *x2 = *y2 = 0;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{
non_empty = return_vals[1].data.d_int32;
@ -153,7 +152,7 @@ gimp_drawable_has_alpha (gint32 drawable_ID)
{
GParam *return_vals;
gint nreturn_vals;
gboolean has_alpha = TRUE;
gboolean has_alpha = FALSE;
return_vals = gimp_run_procedure ("gimp_drawable_has_alpha",
&nreturn_vals,
@ -321,7 +320,9 @@ gimp_drawable_offsets (gint32 drawable_ID,
PARAM_DRAWABLE, drawable_ID,
PARAM_END);
*offset_x = *offset_y = 0;
*offset_x = 0;
*offset_y = 0;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{
*offset_x = return_vals[1].data.d_int32;
@ -413,8 +414,10 @@ _gimp_drawable_thumbnail (gint32 drawable_ID,
*ret_width = 0;
*ret_height = 0;
*bpp = 0;
*thumbnail_data_count = 0;
*thumbnail_data = NULL;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{
*ret_width = return_vals[1].data.d_int32;

View File

@ -31,44 +31,44 @@ extern "C" {
/* For information look into the C source or the html documentation */
void gimp_drawable_merge_shadow (gint32 drawable_ID,
gboolean undo);
void gimp_drawable_fill (gint32 drawable_ID,
GimpFillType fill_type);
void gimp_drawable_update (gint32 drawable_ID,
gint x,
gint y,
gint width,
gint height);
gboolean gimp_drawable_mask_bounds (gint32 drawable_ID,
gint *x1,
gint *y1,
gint *x2,
gint *y2);
gint32 gimp_drawable_image (gint32 drawable_ID);
GimpImageType gimp_drawable_type (gint32 drawable_ID);
gboolean gimp_drawable_has_alpha (gint32 drawable_ID);
GimpImageType gimp_drawable_type_with_alpha (gint32 drawable_ID);
gboolean gimp_drawable_is_rgb (gint32 drawable_ID);
gboolean gimp_drawable_is_gray (gint32 drawable_ID);
gboolean gimp_drawable_is_indexed (gint32 drawable_ID);
gint gimp_drawable_bytes (gint32 drawable_ID);
gint gimp_drawable_width (gint32 drawable_ID);
gint gimp_drawable_height (gint32 drawable_ID);
void gimp_drawable_offsets (gint32 drawable_ID,
gint *offset_x,
gint *offset_y);
gboolean gimp_drawable_is_layer (gint32 drawable_ID);
gboolean gimp_drawable_is_layer_mask (gint32 drawable_ID);
gboolean gimp_drawable_is_channel (gint32 drawable_ID);
void _gimp_drawable_thumbnail (gint32 drawable_ID,
gint width,
gint height,
gint *ret_width,
gint *ret_height,
gint *bpp,
gint *thumbnail_data_count,
guint8 **thumbnail_data);
void gimp_drawable_merge_shadow (gint32 drawable_ID,
gboolean undo);
void gimp_drawable_fill (gint32 drawable_ID,
GimpFillType fill_type);
void gimp_drawable_update (gint32 drawable_ID,
gint x,
gint y,
gint width,
gint height);
gboolean gimp_drawable_mask_bounds (gint32 drawable_ID,
gint *x1,
gint *y1,
gint *x2,
gint *y2);
gint32 gimp_drawable_image (gint32 drawable_ID);
GimpImageType gimp_drawable_type (gint32 drawable_ID);
gboolean gimp_drawable_has_alpha (gint32 drawable_ID);
GimpImageType gimp_drawable_type_with_alpha (gint32 drawable_ID);
gboolean gimp_drawable_is_rgb (gint32 drawable_ID);
gboolean gimp_drawable_is_gray (gint32 drawable_ID);
gboolean gimp_drawable_is_indexed (gint32 drawable_ID);
gint gimp_drawable_bytes (gint32 drawable_ID);
gint gimp_drawable_width (gint32 drawable_ID);
gint gimp_drawable_height (gint32 drawable_ID);
void gimp_drawable_offsets (gint32 drawable_ID,
gint *offset_x,
gint *offset_y);
gboolean gimp_drawable_is_layer (gint32 drawable_ID);
gboolean gimp_drawable_is_layer_mask (gint32 drawable_ID);
gboolean gimp_drawable_is_channel (gint32 drawable_ID);
void _gimp_drawable_thumbnail (gint32 drawable_ID,
gint width,
gint height,
gint *ret_width,
gint *ret_height,
gint *bpp,
gint *thumbnail_data_count,
guint8 **thumbnail_data);
#ifdef __cplusplus

View File

@ -70,7 +70,9 @@ gimp_get_monitor_resolution (gdouble *xres,
&nreturn_vals,
PARAM_END);
*xres = *yres = 1.0;
*xres = 0.0;
*yres = 0.0;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{
*xres = return_vals[1].data.d_float;

View File

@ -31,11 +31,11 @@ extern "C" {
/* For information look into the C source or the html documentation */
gchar* gimp_gimprc_query (gchar *token);
void gimp_gimprc_set (gchar *token,
gchar *value);
void gimp_get_monitor_resolution (gdouble *xres,
gdouble *yres);
gchar* gimp_gimprc_query (gchar *token);
void gimp_gimprc_set (gchar *token,
gchar *value);
void gimp_get_monitor_resolution (gdouble *xres,
gdouble *yres);
#ifdef __cplusplus

View File

@ -81,6 +81,7 @@ _gimp_gradients_get_gradient_data (gchar *name,
{
GParam *return_vals;
gint nreturn_vals;
gchar *name = NULL;
return_vals = gimp_run_procedure ("gimp_gradients_get_gradient_data",
&nreturn_vals,
@ -89,7 +90,6 @@ _gimp_gradients_get_gradient_data (gchar *name,
PARAM_END);
*width = 0;
name = NULL;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{

View File

@ -21,8 +21,6 @@
/* NOTE: This file is autogenerated by pdbgen.pl */
#include <string.h>
#include "gimp.h"
gint *
@ -556,6 +554,8 @@ _gimp_image_get_cmap (gint32 image_ID,
PARAM_IMAGE, image_ID,
PARAM_END);
*num_bytes = 0;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{
*num_bytes = return_vals[1].data.d_int32;
@ -592,7 +592,7 @@ gimp_image_undo_is_enabled (gint32 image_ID)
{
GParam *return_vals;
gint nreturn_vals;
gboolean enabled = TRUE;
gboolean enabled = FALSE;
return_vals = gimp_run_procedure ("gimp_image_undo_is_enabled",
&nreturn_vals,
@ -612,7 +612,7 @@ gimp_image_undo_enable (gint32 image_ID)
{
GParam *return_vals;
gint nreturn_vals;
gboolean enabled = TRUE;
gboolean enabled = FALSE;
return_vals = gimp_run_procedure ("gimp_image_undo_enable",
&nreturn_vals,
@ -632,7 +632,7 @@ gimp_image_undo_disable (gint32 image_ID)
{
GParam *return_vals;
gint nreturn_vals;
gboolean disabled = TRUE;
gboolean disabled = FALSE;
return_vals = gimp_run_procedure ("gimp_image_undo_disable",
&nreturn_vals,
@ -652,7 +652,7 @@ gimp_image_undo_freeze (gint32 image_ID)
{
GParam *return_vals;
gint nreturn_vals;
gboolean frozen = TRUE;
gboolean frozen = FALSE;
return_vals = gimp_run_procedure ("gimp_image_undo_freeze",
&nreturn_vals,
@ -672,7 +672,7 @@ gimp_image_undo_thaw (gint32 image_ID)
{
GParam *return_vals;
gint nreturn_vals;
gboolean thawed = TRUE;
gboolean thawed = FALSE;
return_vals = gimp_run_procedure ("gimp_image_undo_thaw",
&nreturn_vals,
@ -743,28 +743,30 @@ gimp_image_floating_sel_attached_to (gint32 image_ID)
void
_gimp_image_thumbnail (gint32 image_ID,
gint width,
gint height,
gint *ret_width,
gint *ret_height,
gint *bpp,
gint *thumbnail_data_count,
guint8 **thumbnail_data)
gint width,
gint height,
gint *ret_width,
gint *ret_height,
gint *bpp,
gint *thumbnail_data_count,
guint8 **thumbnail_data)
{
GParam *return_vals;
gint nreturn_vals;
return_vals = gimp_run_procedure ("gimp_image_thumbnail",
&nreturn_vals,
PARAM_IMAGE, image_ID,
PARAM_INT32, width,
PARAM_INT32, height,
PARAM_END);
&nreturn_vals,
PARAM_IMAGE, image_ID,
PARAM_INT32, width,
PARAM_INT32, height,
PARAM_END);
*ret_width = 0;
*ret_height = 0;
*bpp = 0;
*thumbnail_data_count = 0;
*thumbnail_data = NULL;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{
*ret_width = return_vals[1].data.d_int32;
@ -773,7 +775,7 @@ _gimp_image_thumbnail (gint32 image_ID,
*thumbnail_data_count = return_vals[4].data.d_int32;
*thumbnail_data = g_new (guint8, *thumbnail_data_count);
memcpy (*thumbnail_data, return_vals[5].data.d_int8array,
*thumbnail_data_count * sizeof (guint8));
*thumbnail_data_count * sizeof (guint8));
}
gimp_destroy_params (return_vals, nreturn_vals);
@ -953,7 +955,7 @@ gimp_image_get_component_active (gint32 image_ID,
{
GParam *return_vals;
gint nreturn_vals;
gboolean active = TRUE;
gboolean active = FALSE;
return_vals = gimp_run_procedure ("gimp_image_get_component_active",
&nreturn_vals,
@ -993,7 +995,7 @@ gimp_image_get_component_visible (gint32 image_ID,
{
GParam *return_vals;
gint nreturn_vals;
gboolean visible = TRUE;
gboolean visible = FALSE;
return_vals = gimp_run_procedure ("gimp_image_get_component_visible",
&nreturn_vals,
@ -1071,13 +1073,14 @@ gimp_image_get_resolution (gint32 image_ID,
GParam *return_vals;
gint nreturn_vals;
*xresolution = *yresolution = 1.0;
return_vals = gimp_run_procedure ("gimp_image_get_resolution",
&nreturn_vals,
PARAM_IMAGE, image_ID,
PARAM_END);
*xresolution = 0.0;
*yresolution = 0.0;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{
*xresolution = return_vals[1].data.d_float;

View File

@ -55,8 +55,8 @@ gimp_path_list (gint32 image_ID,
gint
gimp_path_get_points (gint32 image_ID,
gchar *pathname,
gint *num_path_point_details,
gint *path_closed,
gint *num_path_point_details,
gdouble **points_pairs)
{
GParam *return_vals;

View File

@ -35,8 +35,8 @@ gchar** gimp_path_list (gint32 image_ID,
gint *num_paths);
gint gimp_path_get_points (gint32 image_ID,
gchar *pathname,
gint *num_path_point_details,
gint *path_closed,
gint *num_path_point_details,
gdouble **points_pairs);
gchar* gimp_path_get_current (gint32 image_ID);
void gimp_path_set_current (gint32 image_ID,

View File

@ -23,7 +23,7 @@
#include "gimp.h"
gboolean
void
gimp_selection_bounds (gint32 image_ID,
gboolean *non_empty,
gint *x1,
@ -33,27 +33,28 @@ gimp_selection_bounds (gint32 image_ID,
{
GParam *return_vals;
gint nreturn_vals;
gboolean success;
return_vals = gimp_run_procedure ("gimp_selection_bounds",
&nreturn_vals,
PARAM_IMAGE, image_ID,
PARAM_END);
success = FALSE;
*non_empty = FALSE;
*x1 = 0;
*y1 = 0;
*x2 = 0;
*y2 = 0;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{
success = TRUE;
*non_empty = return_vals[1].data.d_int32;
*x1 = return_vals[2].data.d_int32;
*y1 = return_vals[3].data.d_int32;
*x2 = return_vals[4].data.d_int32;
*y2 = return_vals[5].data.d_int32;
}
gimp_destroy_params (return_vals, nreturn_vals);
return success;
gimp_destroy_params (return_vals, nreturn_vals);
}
gboolean
@ -61,7 +62,7 @@ gimp_selection_is_empty (gint32 image_ID)
{
GParam *return_vals;
gint nreturn_vals;
gboolean is_empty = TRUE;
gboolean is_empty = FALSE;
return_vals = gimp_run_procedure ("gimp_selection_is_empty",
&nreturn_vals,

View File

@ -31,8 +31,8 @@ extern "C" {
/* For information look into the C source or the html documentation */
gboolean gimp_selection_bounds (gint32 image_ID,
gboolean *none_empty,
void gimp_selection_bounds (gint32 image_ID,
gboolean *non_empty,
gint *x1,
gint *y1,
gint *x2,

View File

@ -82,7 +82,11 @@ gimp_text_get_extents_fontname (gchar *text,
PARAM_STRING, fontname,
PARAM_END);
*width = *height = *ascent = *descent = 0;
*width = 0;
*height = 0;
*ascent = 0;
*descent = 0;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{
*width = return_vals[1].data.d_int32;
@ -181,7 +185,11 @@ gimp_text_get_extents (gchar *text,
PARAM_STRING, encoding,
PARAM_END);
*width = *height = *ascent = *descent = 0;
*width = 0;
*height = 0;
*ascent = 0;
*descent = 0;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{
*width = return_vals[1].data.d_int32;

View File

@ -426,14 +426,14 @@ gimp_flip (gint32 drawable_ID,
{
GParam *return_vals;
gint nreturn_vals;
gint32 drawable_ID = -1;
return_vals = gimp_run_procedure ("gimp_flip",
&nreturn_vals,
PARAM_DRAWABLE, drawable_ID,
PARAM_INT32, flip_type,
PARAM_END);
drawable_ID = -1;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
drawable_ID = return_vals[1].data.d_drawable;
@ -572,6 +572,7 @@ gimp_perspective (gint32 drawable_ID,
{
GParam *return_vals;
gint nreturn_vals;
gint32 drawable_ID = -1;
return_vals = gimp_run_procedure ("gimp_perspective",
&nreturn_vals,
@ -587,7 +588,6 @@ gimp_perspective (gint32 drawable_ID,
PARAM_FLOAT, y3,
PARAM_END);
drawable_ID = -1;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
drawable_ID = return_vals[1].data.d_drawable;
@ -631,6 +631,7 @@ gimp_rotate (gint32 drawable_ID,
{
GParam *return_vals;
gint nreturn_vals;
gint32 drawable_ID = -1;
return_vals = gimp_run_procedure ("gimp_rotate",
&nreturn_vals,
@ -639,7 +640,6 @@ gimp_rotate (gint32 drawable_ID,
PARAM_FLOAT, angle,
PARAM_END);
drawable_ID = -1;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
drawable_ID = return_vals[1].data.d_drawable;
@ -658,6 +658,7 @@ gimp_scale (gint32 drawable_ID,
{
GParam *return_vals;
gint nreturn_vals;
gint32 drawable_ID = -1;
return_vals = gimp_run_procedure ("gimp_scale",
&nreturn_vals,
@ -669,7 +670,6 @@ gimp_scale (gint32 drawable_ID,
PARAM_FLOAT, y1,
PARAM_END);
drawable_ID = -1;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
drawable_ID = return_vals[1].data.d_drawable;
@ -686,6 +686,7 @@ gimp_shear (gint32 drawable_ID,
{
GParam *return_vals;
gint nreturn_vals;
gint32 drawable_ID = -1;
return_vals = gimp_run_procedure ("gimp_shear",
&nreturn_vals,
@ -695,7 +696,6 @@ gimp_shear (gint32 drawable_ID,
PARAM_FLOAT, magnitude,
PARAM_END);
drawable_ID = -1;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
drawable_ID = return_vals[1].data.d_drawable;
@ -755,6 +755,7 @@ gimp_transform_2d (gint32 drawable_ID,
{
GParam *return_vals;
gint nreturn_vals;
gint32 drawable_ID = -1;
return_vals = gimp_run_procedure ("gimp_transform_2d",
&nreturn_vals,
@ -768,7 +769,7 @@ gimp_transform_2d (gint32 drawable_ID,
PARAM_FLOAT, dest_x,
PARAM_FLOAT, dest_y,
PARAM_END);
drawable_ID = -1;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
drawable_ID = return_vals[1].data.d_drawable;

View File

@ -58,7 +58,7 @@ sub generate {
my @inargs = @{$proc->{inargs}} if exists $proc->{inargs};
my @outargs = @{$proc->{outargs}} if exists $proc->{outargs};
my $funcname = "gimp_$name"; my $wrapped = "";
my $funcname = "gimp_$name"; my $wrapped = ""; my %usednames;
# The 'color' argument is special cased to accept and return the
# individual color components. This is to maintain backwards
@ -109,6 +109,8 @@ sub generate {
$wrapped = "_" if exists $_->{wrap};
$usednames{$_->{name}}++;
if (exists $_->{implicit_fill}) {
$privatevars++;
}
@ -167,9 +169,12 @@ CODE
$wrapped = "_" if exists $_->{wrap};
$_->{libname} = exists $usednames{$_->{name}} ? "ret_$_->{name}"
: $_->{name};
$_->{libname} = $_->{name} if exists $_->{retval};
if (exists $_->{num}) {
if (!exists $_->{no_lib}) {
$arglist .= "gint \*$_->{name}, ";
push @initnums, $_;
}
}
@ -178,7 +183,7 @@ CODE
$return_args .= &libtype($_);
# The return value variable
$var = $_->{name};
$var = $_->{libname};
$var .= '_ID' if $id;
$return_args .= $var;
@ -217,7 +222,7 @@ CODE
if (scalar(@initnums)) {
foreach (@initnums) {
$return_marshal .= "\*$_->{name} = ";
$return_marshal .= "\*$_->{libname} = ";
my ($type) = &arg_parse($_->{type});
for ($arg_types{$type}->{type}) {
/\*$/ && do { $return_marshal .= "NULL"; last };
@ -259,16 +264,19 @@ CODE
if (exists $_->{num}) {
$numpos = $argc;
$numtype = $type;
if (!exists $_->{no_lib}) {
$arglist .= "gint \*$_->{libname}, ";
}
}
elsif (exists $_->{array}) {
my $datatype = $arg->{type};
chop $datatype;
$datatype =~ s/ *$//;
my $var = $_->{name}; my $dh = ""; my $df = "";
my $var = $_->{libname}; my $dh = ""; my $df = "";
unless (exists $_->{retval}) {
$var = "*$var"; $dh = "(*"; $df = ")";
$arglist .= "$datatype **$_->{name}";
$arglist .= "$datatype **$_->{libname}";
}
if ($ch || $cf) {
@ -296,13 +304,13 @@ CP2
unless (exists $_->{retval}) {
$var .= '*';
$arglist .= &libtype($_);
$arglist .= "*$_->{name}";
$arglist .= "*$_->{libname}";
$arglist .= '_ID' if $id;
$arglist .= ', ';
}
$var = exists $_->{retval} ? "" : '*';
$var .= $_->{name};
$var .= $_->{libname};
$var .= '_ID' if $id;
$return_marshal .= ' ' x 2 if $#outargs;