On Fri, Jun 16, 2006 at 05:17:37PM +0200, Piotr Domagalski wrote:
a wrong argument in function calls could lead to a crash. From C-binding document:
job_id_len - The size in characters of the job identifier buffer.
This would clearly mean sizeof(buf), but the "characters" makes me think it could be the maximum number of printable characters that will be put into the buffer. In my opionion this word is not needed here, it should only say "the size of the job identifier buffer".
... and as I see in SGE's DRMAA implementation[1], all the _len arguments are treated as maximum string lengths, thus the input buffer is always considered to have size of (job_id_len + 1). So, to sum up, should implementations treat these arguments as size of the buffer or the maximum string length that would be put into the buffer? --------------------- [1] By the way: some comments in the code are a bit misleading: OUTPUTS char *job_id - buffer for resulting jobid size_t job_id_len - size of job_id buffer char *error_diagnosis - diagnosis buffer size_t error_diag_len - diagnosis buffer length The "size of job_id buffer" seems completly wrong, whereas "buffer length" is not a clear wording from the C language perspective. -- Piotr Domagalski