From 12431704c90f96f274dda6f21921bb6cb3bd4ba2 Mon Sep 17 00:00:00 2001 From: Alain Miniussi Date: Thu, 30 Nov 2017 15:21:28 +0100 Subject: [PATCH] On all bindings manual pages I could find (example: http://gridscheduler.sourceforge.net/htmlman/htmlman3/drmaa_attributes.html) the drmaa_get_num_xxx functions uses a int * to store their result. On some (most?) platforms, int * and size_t are not compatibles. The go binding, for one, fails to build because of this. --- drmaa_utils/drmaa.h | 6 +++--- drmaa_utils/drmaa_base.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drmaa_utils/drmaa.h b/drmaa_utils/drmaa.h index afe3d58..f43df4e 100644 --- a/drmaa_utils/drmaa.h +++ b/drmaa_utils/drmaa.h @@ -312,9 +312,9 @@ int drmaa_get_next_attr_value( drmaa_attr_values_t* values, char *value, size_t value_len ); int drmaa_get_next_job_id( drmaa_job_ids_t* values, char *value, size_t value_len ); -int drmaa_get_num_attr_names( drmaa_attr_names_t* values, size_t *size ); -int drmaa_get_num_attr_values(drmaa_attr_values_t* values, size_t *size ); -int drmaa_get_num_job_ids( drmaa_job_ids_t* values, size_t *size ); +int drmaa_get_num_attr_names( drmaa_attr_names_t* values, int *size ); +int drmaa_get_num_attr_values(drmaa_attr_values_t* values, int *size ); +int drmaa_get_num_job_ids( drmaa_job_ids_t* values, int *size ); void drmaa_release_attr_names( drmaa_attr_names_t* values ); void drmaa_release_attr_values( drmaa_attr_values_t* values ); void drmaa_release_job_ids( drmaa_job_ids_t* values ); diff --git a/drmaa_utils/drmaa_base.c b/drmaa_utils/drmaa_base.c index 3c0f34e..59ca4e5 100644 --- a/drmaa_utils/drmaa_base.c +++ b/drmaa_utils/drmaa_base.c @@ -277,7 +277,7 @@ int drmaa_get_next_##name( type *values, char *value, size_t value_len ) \ strlcpy( value, iter->next(iter), value_len ); \ DRMAA_API_END \ } \ -int drmaa_get_num_##name##s( type *values, size_t *size ) \ +int drmaa_get_num_##name##s( type *values, int *size ) \ { \ char error_diagnosis[1]; \ size_t error_diag_len = sizeof(error_diagnosis); \