use G_GNUC_* attribute system

Instead of our own compiler attr thing.

see https://github.com/libvips/libvips/issues/2871
This commit is contained in:
John Cupitt 2022-09-23 14:37:35 +01:00
parent eed0e5b43c
commit 5569022dbd
30 changed files with 450 additions and 467 deletions

View File

@ -7,11 +7,10 @@ master
- jp2ksave defaults to chroma subsample off, and jp2 write
- don't minimise sink_screen input after expose ... improves caching during
interactive use
- move tiff jp2k and jpeg decompress outside the lock
- require libjxl 0.7+
- add "interlace" option to GIF save [dloebl]
- magick load sets "magick-format" metadata [aksdb]
- add ".pnm", save as image format [ewelot]
- add ".pnm" save [ewelot]
- threaded tiff jp2k and jpeg decompress
- improve speed and efficiency of animated WebP write [dloebl]

View File

@ -654,7 +654,7 @@ vips_complexget_build( VipsObject *object )
}
#define GETLOOP( TYPE, OP ) { \
TYPE *p __attribute__ ((unused)) = (TYPE *) in[0]; \
TYPE *p G_GNUC_UNUSED = (TYPE *) in[0]; \
TYPE *q = (TYPE *) out; \
\
for( x = 0; x < sz; x++ ) { \
@ -663,7 +663,7 @@ vips_complexget_build( VipsObject *object )
}
#define CGETLOOP( TYPE, OP ) { \
TYPE *p __attribute__ ((unused)) = (TYPE *) in[0]; \
TYPE *p G_GNUC_UNUSED = (TYPE *) in[0]; \
TYPE *q = (TYPE *) out; \
\
for( x = 0; x < sz; x++ ) { \

View File

@ -134,18 +134,18 @@ int im_copy_from( IMAGE *in, IMAGE *out, im_arch_type architecture );
*/
VIPS_DEPRECATED_FOR(vips_error)
void im_errormsg( const char *fmt, ... )
__attribute__((format(printf, 1, 2)));
G_GNUC_PRINTF( 1, 2 );
VIPS_DEPRECATED_FOR(vips_verror)
void im_verrormsg( const char *fmt, va_list ap );
VIPS_DEPRECATED_FOR(vips_error_system)
void im_errormsg_system( int err, const char *fmt, ... )
__attribute__((format(printf, 2, 3)));
G_GNUC_PRINTF( 2, 3 );
VIPS_DEPRECATED_FOR(g_info)
void im_diagnostics( const char *fmt, ... )
__attribute__((format(printf, 1, 2)));
G_GNUC_PRINTF( 1, 2 );
VIPS_DEPRECATED_FOR(g_warning)
void im_warning( const char *fmt, ... )
__attribute__((format(printf, 1, 2)));
G_GNUC_PRINTF( 1, 2 );
VIPS_DEPRECATED
int im_iterate( VipsImage *im,
@ -384,14 +384,14 @@ int im_smear( IMAGE *im, int ix, int iy, VipsRect *r );
VIPS_DEPRECATED_FOR(g_warning)
void vips_warn( const char *domain, const char *fmt, ... )
__attribute__((format(printf, 2, 3)));
G_GNUC_PRINTF( 2, 3 );
VIPS_DEPRECATED_FOR(g_warning)
void vips_vwarn( const char *domain, const char *fmt, va_list ap );
VIPS_DEPRECATED
void vips_info_set( gboolean info );
VIPS_DEPRECATED_FOR(g_info)
void vips_info( const char *domain, const char *fmt, ... )
__attribute__((format(printf, 2, 3)));
G_GNUC_PRINTF( 2, 3 );
VIPS_DEPRECATED_FOR(g_info)
void vips_vinfo( const char *domain, const char *fmt, va_list ap );

View File

@ -193,376 +193,376 @@ typedef enum {
VIPS_API
int vips_add( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_sum( VipsImage **in, VipsImage **out, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_subtract( VipsImage *in1, VipsImage *in2, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_multiply( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_divide( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_linear( VipsImage *in, VipsImage **out,
const double *a, const double *b, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_linear1( VipsImage *in, VipsImage **out, double a, double b, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_remainder( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_remainder_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_remainder_const1( VipsImage *in, VipsImage **out,
double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_invert( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_abs( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_sign( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_round( VipsImage *in, VipsImage **out, VipsOperationRound round, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_floor( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_ceil( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rint( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_math( VipsImage *in, VipsImage **out,
VipsOperationMath math, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_sin( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cos( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_tan( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_asin( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_acos( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_atan( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_exp( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_exp10( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_log( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_log10( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_sinh( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cosh( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_tanh( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_asinh( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_acosh( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_atanh( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_complex( VipsImage *in, VipsImage **out,
VipsOperationComplex cmplx, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_polar( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rect( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_conj( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_complex2( VipsImage *left, VipsImage *right, VipsImage **out,
VipsOperationComplex2 cmplx, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cross_phase( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_complexget( VipsImage *in, VipsImage **out,
VipsOperationComplexget get, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_real( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_imag( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_complexform( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_relational( VipsImage *left, VipsImage *right, VipsImage **out,
VipsOperationRelational relational, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_equal( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_notequal( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_less( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_lesseq( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_more( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_moreeq( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_relational_const( VipsImage *in, VipsImage **out,
VipsOperationRelational relational, const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_equal_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_notequal_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_less_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_lesseq_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_more_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_moreeq_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_relational_const1( VipsImage *in, VipsImage **out,
VipsOperationRelational relational, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_equal_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_notequal_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_less_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_lesseq_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_more_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_moreeq_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_boolean( VipsImage *left, VipsImage *right, VipsImage **out,
VipsOperationBoolean boolean, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_andimage( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_orimage( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_eorimage( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_lshift( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rshift( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_boolean_const( VipsImage *in, VipsImage **out,
VipsOperationBoolean boolean, const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_andimage_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_orimage_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_eorimage_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_lshift_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rshift_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_boolean_const1( VipsImage *in, VipsImage **out,
VipsOperationBoolean boolean, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_andimage_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_orimage_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_eorimage_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_lshift_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rshift_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_math2( VipsImage *left, VipsImage *right, VipsImage **out,
VipsOperationMath2 math2, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_pow( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_wop( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_atan2( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_math2_const( VipsImage *in, VipsImage **out,
VipsOperationMath2 math2, const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_pow_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_wop_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_atan2_const( VipsImage *in, VipsImage **out,
const double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_math2_const1( VipsImage *in, VipsImage **out,
VipsOperationMath2 math2, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_pow_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_wop_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_atan2_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_avg( VipsImage *in, double *out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_deviate( VipsImage *in, double *out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_min( VipsImage *in, double *out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_max( VipsImage *in, double *out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_stats( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_measure( VipsImage *in, VipsImage **out, int h, int v, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_find_trim( VipsImage *in,
int *left, int *top, int *width, int *height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_getpoint( VipsImage *in, double **vector, int *n, int x, int y, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hist_find( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hist_find_ndim( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hist_find_indexed( VipsImage *in, VipsImage *index,
VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hough_line( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hough_circle( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_project( VipsImage *in, VipsImage **columns, VipsImage **rows, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_profile( VipsImage *in, VipsImage **columns, VipsImage **rows, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
#ifdef __cplusplus
}

View File

@ -81,7 +81,7 @@ VIPS_API
gboolean vips_buf_appends( VipsBuf *buf, const char *str );
VIPS_API
gboolean vips_buf_appendf( VipsBuf *buf, const char *fmt, ... )
__attribute__((format(printf, 2, 3)));
G_GNUC_PRINTF( 2, 3 );
VIPS_API
gboolean vips_buf_vappendf( VipsBuf *buf, const char *fmt, va_list ap );
VIPS_API

View File

@ -112,111 +112,111 @@ gboolean vips_colourspace_issupported( const VipsImage *image );
VIPS_API
int vips_colourspace( VipsImage *in, VipsImage **out,
VipsInterpretation space, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_LabQ2sRGB( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rad2float( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_float2rad( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_LabS2LabQ( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_LabQ2LabS( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_LabQ2Lab( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_Lab2LabQ( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_LCh2Lab( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_Lab2LCh( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_Yxy2Lab( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_CMC2XYZ( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_Lab2XYZ( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_XYZ2Lab( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_XYZ2scRGB( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_scRGB2sRGB( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_scRGB2BW( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_sRGB2scRGB( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_scRGB2XYZ( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_HSV2sRGB( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_sRGB2HSV( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_LCh2CMC( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_CMC2LCh( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_XYZ2Yxy( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_Yxy2XYZ( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_LabS2Lab( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_Lab2LabS( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_CMYK2XYZ( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_XYZ2CMYK( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_profile_load( const char *name, VipsBlob **profile, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_icc_present( void );
VIPS_API
int vips_icc_transform( VipsImage *in, VipsImage **out,
const char *output_profile, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_icc_import( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_icc_export( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_icc_ac2rc( VipsImage *in, VipsImage **out,
const char *profile_filename );
@ -226,13 +226,13 @@ gboolean vips_icc_is_compatible_profile( VipsImage *image,
VIPS_API
int vips_dE76( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_dE00( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_dECMC( VipsImage *left, VipsImage *right, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
void vips_col_Lab2XYZ( float L, float a, float b,

View File

@ -515,7 +515,7 @@ VIPS_API
int vips_target_writes( VipsTarget *target, const char *str );
VIPS_API
int vips_target_writef( VipsTarget *target, const char *fmt, ... )
__attribute__((format(printf, 2, 3)));
G_GNUC_PRINTF( 2, 3 );
VIPS_API
int vips_target_write_amp( VipsTarget *target, const char *str );

View File

@ -136,219 +136,219 @@ typedef enum {
VIPS_API
int vips_copy( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_tilecache( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_linecache( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_sequential( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cache( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_copy_file( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_embed( VipsImage *in, VipsImage **out,
int x, int y, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_gravity( VipsImage *in, VipsImage **out,
VipsCompassDirection direction, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_flip( VipsImage *in, VipsImage **out, VipsDirection direction, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_insert( VipsImage *main, VipsImage *sub, VipsImage **out,
int x, int y, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_join( VipsImage *in1, VipsImage *in2, VipsImage **out,
VipsDirection direction, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_arrayjoin( VipsImage **in, VipsImage **out, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_extract_area( VipsImage *in, VipsImage **out,
int left, int top, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_crop( VipsImage *in, VipsImage **out,
int left, int top, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_smartcrop( VipsImage *in, VipsImage **out, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_extract_band( VipsImage *in, VipsImage **out, int band, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_replicate( VipsImage *in, VipsImage **out, int across, int down, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_grid( VipsImage *in, VipsImage **out,
int tile_height, int across, int down, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_transpose3d( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_wrap( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rot( VipsImage *in, VipsImage **out, VipsAngle angle, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rot90( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rot180( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rot270( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rot45( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
void vips_autorot_remove_angle( VipsImage *image );
VIPS_API
int vips_autorot( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_zoom( VipsImage *in, VipsImage **out, int xfac, int yfac, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_subsample( VipsImage *in, VipsImage **out, int xfac, int yfac, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cast( VipsImage *in, VipsImage **out, VipsBandFormat format, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cast_uchar( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cast_char( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cast_ushort( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cast_short( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cast_uint( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cast_int( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cast_float( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cast_double( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cast_complex( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_cast_dpcomplex( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_scale( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_msb( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_byteswap( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_bandjoin( VipsImage **in, VipsImage **out, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_bandjoin2( VipsImage *in1, VipsImage *in2, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_bandjoin_const( VipsImage *in, VipsImage **out, double *c, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_bandjoin_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_bandrank( VipsImage **in, VipsImage **out, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_bandfold( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_bandunfold( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_bandbool( VipsImage *in, VipsImage **out,
VipsOperationBoolean boolean, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_bandand( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_bandor( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_bandeor( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_bandmean( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_recomb( VipsImage *in, VipsImage **out, VipsImage *m, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_ifthenelse( VipsImage *cond, VipsImage *in1, VipsImage *in2,
VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_switch( VipsImage **tests, VipsImage **out, int n, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_flatten( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_addalpha( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_premultiply( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_unpremultiply( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_composite( VipsImage **in, VipsImage **out, int n, int *mode, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_composite2( VipsImage *base, VipsImage *overlay, VipsImage **out,
VipsBlendMode mode, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_falsecolour( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_gamma( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
#ifdef __cplusplus
}

View File

@ -47,46 +47,46 @@ typedef enum {
VIPS_API
int vips_conv( VipsImage *in, VipsImage **out, VipsImage *mask, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_convf( VipsImage *in, VipsImage **out, VipsImage *mask, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_convi( VipsImage *in, VipsImage **out, VipsImage *mask, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_conva( VipsImage *in, VipsImage **out, VipsImage *mask, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_convsep( VipsImage *in, VipsImage **out, VipsImage *mask, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_convasep( VipsImage *in, VipsImage **out, VipsImage *mask, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_compass( VipsImage *in, VipsImage **out, VipsImage *mask, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_gaussblur( VipsImage *in, VipsImage **out, double sigma, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_sharpen( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_spcor( VipsImage *in, VipsImage *ref, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_fastcor( VipsImage *in, VipsImage *ref, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_sobel( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_canny( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
#ifdef __cplusplus
}

View File

@ -40,111 +40,111 @@ extern "C" {
VIPS_API
int vips_black( VipsImage **out, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_xyz( VipsImage **out, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_grey( VipsImage **out, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_gaussmat( VipsImage **out, double sigma, double min_ampl, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_logmat( VipsImage **out, double sigma, double min_ampl, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_text( VipsImage **out, const char *text, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_gaussnoise( VipsImage **out, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_eye( VipsImage **out, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_sines( VipsImage **out, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_zone( VipsImage **out, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_identity( VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_buildlut( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_invertlut( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_tonelut( VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mask_ideal( VipsImage **out, int width, int height,
double frequency_cutoff, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mask_ideal_ring( VipsImage **out, int width, int height,
double frequency_cutoff, double ringwidth, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mask_ideal_band( VipsImage **out, int width, int height,
double frequency_cutoff_x, double frequency_cutoff_y,
double radius, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mask_butterworth( VipsImage **out, int width, int height,
double order,
double frequency_cutoff, double amplitude_cutoff, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mask_butterworth_ring( VipsImage **out, int width, int height,
double order,
double frequency_cutoff, double amplitude_cutoff,
double ringwidth, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mask_butterworth_band( VipsImage **out, int width, int height,
double order,
double frequency_cutoff_x, double frequency_cutoff_y, double radius,
double amplitude_cutoff, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mask_gaussian( VipsImage **out, int width, int height,
double frequency_cutoff, double amplitude_cutoff, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mask_gaussian_ring( VipsImage **out, int width, int height,
double frequency_cutoff, double amplitude_cutoff,
double ringwidth, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mask_gaussian_band( VipsImage **out, int width, int height,
double frequency_cutoff_x, double frequency_cutoff_y, double radius,
double amplitude_cutoff, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mask_fractal( VipsImage **out, int width, int height,
double fractal_dimension, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_fractsurf( VipsImage **out,
int width, int height, double fractal_dimension, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_worley( VipsImage **out, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_perlin( VipsImage **out, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
#ifdef __cplusplus
}

View File

@ -78,7 +78,7 @@ gboolean vips_dbuf_write( VipsDbuf *dbuf,
const unsigned char *data, size_t size );
VIPS_API
gboolean vips_dbuf_writef( VipsDbuf *dbuf, const char *fmt, ... )
__attribute__((format(printf, 2, 3)));
G_GNUC_PRINTF( 2, 3 );
VIPS_API
gboolean vips_dbuf_write_amp( VipsDbuf *dbuf, const char *str );
VIPS_API

View File

@ -270,7 +270,7 @@ VIPS_DEPRECATED
im_package *im_load_plugin( const char *name );
VIPS_DEPRECATED
int im_load_plugins( const char *fmt, ... )
__attribute__((format(printf, 1, 2)));
G_GNUC_PRINTF( 1, 2 );
/* Close all plug-ins.
*/

View File

@ -51,60 +51,60 @@ typedef enum {
VIPS_API
int vips_draw_rect( VipsImage *image,
double *ink, int n, int left, int top, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_rect1( VipsImage *image,
double ink, int left, int top, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_point( VipsImage *image, double *ink, int n, int x, int y, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_point1( VipsImage *image, double ink, int x, int y, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_image( VipsImage *image, VipsImage *sub, int x, int y, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_mask( VipsImage *image,
double *ink, int n, VipsImage *mask, int x, int y, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_mask1( VipsImage *image,
double ink, VipsImage *mask, int x, int y, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_line( VipsImage *image,
double *ink, int n, int x1, int y1, int x2, int y2, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_line1( VipsImage *image,
double ink, int x1, int y1, int x2, int y2, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_circle( VipsImage *image,
double *ink, int n, int cx, int cy, int radius, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_circle1( VipsImage *image,
double ink, int cx, int cy, int radius, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_flood( VipsImage *image, double *ink, int n, int x, int y, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_flood1( VipsImage *image, double ink, int x, int y, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_draw_smudge( VipsImage *image,
int left, int top, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
#ifdef __cplusplus
}

View File

@ -49,12 +49,12 @@ void vips_error_thaw( void );
VIPS_API
void vips_error( const char *domain, const char *fmt, ... )
__attribute__((format(printf, 2, 3)));
G_GNUC_PRINTF( 2, 3 );
VIPS_API
void vips_verror( const char *domain, const char *fmt, va_list ap );
VIPS_API
void vips_error_system( int err, const char *domain, const char *fmt, ... )
__attribute__((format(printf, 3, 4)));
G_GNUC_PRINTF( 3, 4 );
VIPS_API
void vips_verror_system( int err, const char *domain,
const char *fmt, va_list ap );
@ -65,7 +65,7 @@ void vips_g_error( GError **error );
VIPS_API
void vips_error_exit( const char *fmt, ... )
__attribute__((noreturn, format(printf, 1, 2)));
G_GNUC_NORETURN G_GNUC_PRINTF( 1, 2 );
VIPS_API
int vips_check_uncoded( const char *domain, VipsImage *im );

View File

@ -401,23 +401,23 @@ const char *vips_foreign_find_save_target( const char *suffix );
VIPS_API
int vips_vipsload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_vipsload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_vipssave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_vipssave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_openslideload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_openslideload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
/**
* VipsForeignSubsample:
@ -453,26 +453,26 @@ typedef enum {
VIPS_API
int vips_jpegload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jpegload_buffer( void *buf, size_t len, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jpegload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jpegsave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jpegsave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jpegsave_buffer( VipsImage *in, void **buf, size_t *len, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jpegsave_mime( VipsImage *in, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
/**
* VipsForeignWebpPreset:
@ -497,26 +497,26 @@ typedef enum {
VIPS_API
int vips_webpload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_webpload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_webpload_buffer( void *buf, size_t len, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_webpsave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_webpsave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_webpsave_buffer( VipsImage *in, void **buf, size_t *len, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_webpsave_mime( VipsImage *in, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
/**
* VipsForeignTiffCompression:
@ -584,90 +584,90 @@ typedef enum {
VIPS_API
int vips_tiffload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_tiffload_buffer( void *buf, size_t len, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_tiffload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_tiffsave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_tiffsave_buffer( VipsImage *in, void **buf, size_t *len, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_tiffsave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_openexrload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_fitsload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_fitssave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_analyzeload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rawload( const char *filename, VipsImage **out,
int width, int height, int bands, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rawsave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rawsave_fd( VipsImage *in, int fd, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_csvload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_csvload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_csvsave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_csvsave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_matrixload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_matrixload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_matrixsave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_matrixsave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_matrixprint( VipsImage *in, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_magickload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_magickload_buffer( void *buf, size_t len, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_magicksave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_magicksave_buffer( VipsImage *in, void **buf, size_t *len, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
/**
* VipsForeignPngFilter:
@ -692,22 +692,22 @@ typedef enum /*< flags >*/ {
VIPS_API
int vips_pngload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_pngload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_pngload_buffer( void *buf, size_t len, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_pngsave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_pngsave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_pngsave_buffer( VipsImage *in, void **buf, size_t *len, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
/**
* VipsForeignPpmFormat:
@ -742,149 +742,149 @@ typedef enum {
VIPS_API
int vips_ppmload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_ppmload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_ppmsave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_ppmsave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_matload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_radload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_radload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_radload_buffer( void *buf, size_t len, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_radsave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_radsave_buffer( VipsImage *in, void **buf, size_t *len, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_radsave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_pdfload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_pdfload_buffer( void *buf, size_t len, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_pdfload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_svgload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_svgload_buffer( void *buf, size_t len, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_svgload_string( const char *str, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_svgload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_gifload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_gifload_buffer( void *buf, size_t len, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_gifload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_gifsave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_gifsave_buffer( VipsImage *in, void **buf, size_t *len, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_gifsave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_heifload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_heifload_buffer( void *buf, size_t len, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_heifload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_heifsave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_heifsave_buffer( VipsImage *in, void **buf, size_t *len, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_heifsave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_niftiload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_niftiload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_niftisave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jp2kload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jp2kload_buffer( void *buf, size_t len, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jp2kload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jp2ksave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jp2ksave_buffer( VipsImage *in, void **buf, size_t *len, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jp2ksave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jxlload_source( VipsSource *source, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jxlload_buffer( void *buf, size_t len, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jxlload( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jxlsave( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jxlsave_buffer( VipsImage *in, void **buf, size_t *len, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_jxlsave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
/**
* VipsForeignDzLayout:
@ -937,13 +937,13 @@ typedef enum {
VIPS_API
int vips_dzsave( VipsImage *in, const char *name, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_dzsave_buffer( VipsImage *in, void **buf, size_t *len, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_dzsave_target( VipsImage *in, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
/**
* VipsForeignHeifCompression:

View File

@ -40,22 +40,22 @@ extern "C" {
VIPS_API
int vips_fwfft( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_invfft( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_freqmult( VipsImage *in, VipsImage *mask, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_spectrum( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_phasecor( VipsImage *in1, VipsImage *in2, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
#ifdef __cplusplus
}

View File

@ -71,7 +71,7 @@ VIPS_API
int vips_stop_many( void *seq, void *a, void *b );
VIPS_API
VipsImage **vips_allocate_input_array( VipsImage *out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_image_generate( VipsImage *image,
@ -83,7 +83,7 @@ int vips_image_pipeline_array( VipsImage *image,
VipsDemandStyle hint, VipsImage **in );
VIPS_API
int vips_image_pipelinev( VipsImage *image, VipsDemandStyle hint, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
#ifdef __cplusplus
}

View File

@ -289,7 +289,7 @@ void vips_image_set_array_double( VipsImage *image, const char *name,
VIPS_API
int vips_image_history_printf( VipsImage *image, const char *format, ... )
__attribute__((format(printf, 2, 3)));
G_GNUC_PRINTF( 2, 3 );
VIPS_API
int vips_image_history_args( VipsImage *image,
const char *name, int argc, char *argv[] );

View File

@ -40,43 +40,43 @@ extern "C" {
VIPS_API
int vips_maplut( VipsImage *in, VipsImage **out, VipsImage *lut, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_percent( VipsImage *in, double percent, int *threshold, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_stdif( VipsImage *in, VipsImage **out, int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hist_cum( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hist_norm( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hist_equal( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hist_plot( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hist_match( VipsImage *in, VipsImage *ref, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hist_local( VipsImage *in, VipsImage **out,
int width, int height, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hist_ismonotonic( VipsImage *in, gboolean *out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_hist_entropy( VipsImage *in, double *out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_case( VipsImage *index, VipsImage **cases, VipsImage **out, int n,
... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
#ifdef __cplusplus
}

View File

@ -459,7 +459,7 @@ VIPS_API
VipsImage *vips_image_memory( void );
VIPS_API
VipsImage *vips_image_new_from_file( const char *name, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
VipsImage *vips_image_new_from_file_RW( const char *filename );
VIPS_API
@ -474,10 +474,10 @@ VipsImage *vips_image_new_from_memory_copy( const void *data, size_t size,
VIPS_API
VipsImage *vips_image_new_from_buffer( const void *buf, size_t len,
const char *option_string, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
VipsImage *vips_image_new_from_source( VipsSource *source,
const char *option_string, ... ) __attribute__((sentinel));
const char *option_string, ... ) G_GNUC_NULL_TERMINATED;
VIPS_API
VipsImage *vips_image_new_matrix( int width, int height );
VIPS_API
@ -506,15 +506,15 @@ VIPS_API
int vips_image_write( VipsImage *image, VipsImage *out );
VIPS_API
int vips_image_write_to_file( VipsImage *image, const char *name, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_image_write_to_buffer( VipsImage *in,
const char *suffix, void **buf, size_t *size, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_image_write_to_target( VipsImage *in,
const char *suffix, VipsTarget *target, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
void *vips_image_write_to_memory( VipsImage *in, size_t *size );
@ -564,7 +564,7 @@ gboolean vips_band_format_iscomplex( VipsBandFormat format );
VIPS_API
int vips_system( const char *cmd_format, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
/* Defined in type.c but declared here, since they use VipsImage.
*/

View File

@ -349,9 +349,9 @@ int vips__foreign_convert_saveable( VipsImage *in, VipsImage **ready,
VipsArrayDouble *background );
int vips_foreign_load( const char *filename, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
int vips_foreign_save( VipsImage *in, const char *filename, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
int vips__image_intize( VipsImage *in, VipsImage **out );

View File

@ -47,24 +47,24 @@ typedef enum {
VIPS_API
int vips_morph( VipsImage *in, VipsImage **out, VipsImage *mask,
VipsOperationMorphology morph, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rank( VipsImage *in, VipsImage **out,
int width, int height, int index, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_median( VipsImage *in, VipsImage **out, int size, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_countlines( VipsImage *in, double *nolines,
VipsDirection direction, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_labelregions( VipsImage *in, VipsImage **mask, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_fill_nearest( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
#ifdef __cplusplus
}

View File

@ -41,36 +41,36 @@ extern "C" {
VIPS_API
int vips_merge( VipsImage *ref, VipsImage *sec, VipsImage **out,
VipsDirection direction, int dx, int dy, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mosaic( VipsImage *ref, VipsImage *sec, VipsImage **out,
VipsDirection direction, int xref, int yref, int xsec, int ysec, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mosaic1( VipsImage *ref, VipsImage *sec, VipsImage **out,
VipsDirection direction,
int xr1, int yr1, int xs1, int ys1,
int xr2, int yr2, int xs2, int ys2, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_match( VipsImage *ref, VipsImage *sec, VipsImage **out,
int xr1, int yr1, int xs1, int ys1,
int xr2, int yr2, int xs2, int ys2, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_globalbalance( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_remosaic( VipsImage *in, VipsImage **out,
const char *old_str, const char *new_str, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_matrixinvert( VipsImage *m, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
#ifdef __cplusplus

View File

@ -349,7 +349,7 @@ int vips_object_get_argument_priority( VipsObject *object, const char *name );
(VipsArgumentClass *) p->data; \
VipsArgument *argument = (VipsArgument *) argument_class; \
GParamSpec *PSPEC = argument->pspec; \
VipsArgumentInstance *ARG_INSTANCE __attribute__ ((unused)) = \
VipsArgumentInstance *ARG_INSTANCE G_GNUC_UNUSED = \
vips__argument_get_instance( argument_class, \
VIPS_OBJECT( OBJECT ) ); \
@ -401,7 +401,7 @@ int vips_object_get_argument_priority( VipsObject *object, const char *name );
g_value_unset( &value ); \
} \
else if( (ARG_CLASS->flags & VIPS_ARGUMENT_OUTPUT) ) { \
void **arg __attribute__ ((unused)); \
void **arg G_GNUC_UNUSED; \
\
/* Output args are a pointer to where to send the \
* result. \
@ -640,7 +640,7 @@ VIPS_API
int vips_object_set_valist( VipsObject *object, va_list ap );
VIPS_API
int vips_object_set( VipsObject *object, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_object_set_from_string( VipsObject *object, const char *string );

View File

@ -121,7 +121,7 @@ int vips_call_required_optional( VipsOperation **operation,
va_list required, va_list optional );
VIPS_API
int vips_call( const char *operation_name, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_call_split( const char *operation_name, va_list optional, ... );
VIPS_API

View File

@ -59,62 +59,62 @@ typedef enum {
VIPS_API
int vips_shrink( VipsImage *in, VipsImage **out,
double hshrink, double vshrink, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_shrinkh( VipsImage *in, VipsImage **out, int hshrink, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_shrinkv( VipsImage *in, VipsImage **out, int vshrink, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_reduce( VipsImage *in, VipsImage **out,
double hshrink, double vshrink, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_reduceh( VipsImage *in, VipsImage **out, double hshrink, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_reducev( VipsImage *in, VipsImage **out, double vshrink, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_thumbnail( const char *filename, VipsImage **out, int width, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_thumbnail_buffer( void *buf, size_t len, VipsImage **out,
int width, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_thumbnail_image( VipsImage *in, VipsImage **out, int width, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_thumbnail_source( VipsSource *source, VipsImage **out,
int width, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_similarity( VipsImage *in, VipsImage **out, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rotate( VipsImage *in, VipsImage **out, double angle, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_affine( VipsImage *in, VipsImage **out,
double a, double b, double c, double d, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_resize( VipsImage *in, VipsImage **out, double scale, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mapim( VipsImage *in, VipsImage **out, VipsImage *index, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_quadratic( VipsImage *in, VipsImage **out, VipsImage *coeff, ... )
__attribute__((sentinel));
G_GNUC_NULL_TERMINATED;
#ifdef __cplusplus
}

View File

@ -256,7 +256,7 @@ VIPS_API
void vips_value_set_save_string( GValue *value, const char *str );
VIPS_API
void vips_value_set_save_stringf( GValue *value, const char *fmt, ... )
__attribute__((format(printf, 2, 3)));
G_GNUC_PRINTF( 2, 3 );
VIPS_API
const char *vips_value_get_ref_string( const GValue *value, size_t *length );

View File

@ -266,7 +266,7 @@ VIPS_API
int vips_vsnprintf( char *str, size_t size, const char *format, va_list ap );
VIPS_API
int vips_snprintf( char *str, size_t size, const char *format, ... )
__attribute__((format(printf, 3, 4)));
G_GNUC_PRINTF( 3, 4 );
VIPS_API
int vips_filename_suffix_match( const char *path, const char *suffixes[] );
@ -317,16 +317,16 @@ gint64 vips__seek( int fd, gint64 pos, int whence );
int vips__ftruncate( int fd, gint64 pos );
VIPS_API
int vips_existsf( const char *name, ... )
__attribute__((format(printf, 1, 2)));
G_GNUC_PRINTF( 1, 2 );
VIPS_API
int vips_isdirf( const char *name, ... )
__attribute__((format(printf, 1, 2)));
G_GNUC_PRINTF( 1, 2 );
VIPS_API
int vips_mkdirf( const char *name, ... )
__attribute__((format(printf, 1, 2)));
G_GNUC_PRINTF( 1, 2 );
VIPS_API
int vips_rmdirf( const char *name, ... )
__attribute__((format(printf, 1, 2)));
G_GNUC_PRINTF( 1, 2 );
VIPS_API
int vips_rename( const char *old_name, const char *new_name );

View File

@ -93,22 +93,6 @@
extern "C" {
#endif /*__cplusplus*/
/* If we're being parsed by SWIG, remove gcc attributes.
*/
#ifdef SWIG
# ifndef __attribute__
# define __attribute__(x) /*NOTHING*/
# endif
#endif /*SWIG*/
/* Or if this isn't gcc.
*/
#ifndef __GNUC__
# ifndef __attribute__
# define __attribute__(x) /*NOTHING*/
# endif
#endif /*__GNUC__*/
#include <vips/basic.h>
#include <vips/buf.h>

View File

@ -1637,7 +1637,7 @@ VipsWindow *vips_window_ref( VipsImage *im, int top, int height );
VIPS_DEPRECATED
FILE *vips_popenf( const char *fmt, const char *mode, ... )
__attribute__((format(printf, 1, 3)));
G_GNUC_PRINTF( 1, 3 );
double *vips__ink_to_vector( const char *domain,
VipsImage *im, VipsPel *ink, int *n );