MCPcopy Index your code
hub / github.com/MapServer/MapServer / msIO_fprintf

Function msIO_fprintf

mapio.c:370–423  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

368/************************************************************************/
369
370int msIO_fprintf( FILE *fp, const char *format, ... )
371
372{
373 va_list args, args_copy;
374 int return_val;
375 msIOContext *context;
376 char workBuf[8000], *largerBuf = NULL;
377
378 va_start( args, format );
379
380#if !defined(HAVE_VSNPRINTF)
381 return_val = vsprintf( workBuf, format, args);
382
383 if( return_val < 0 || return_val >= sizeof(workBuf) )
384 {
385 va_end( args );
386 msSetError(MS_MISCERR, "Possible buffer overrun.", "msIO_fprintf()");
387 return -1;
388 }
389
390#else
391
392#ifdef va_copy
393 va_copy( args_copy, args );
394#else
395 args_copy = args;
396#endif /* va_copy */
397
398 return_val = vsnprintf( workBuf, sizeof(workBuf), format, args );
399 if (return_val == -1 || return_val >= sizeof(workBuf)-1)
400 {
401 return_val = _ms_vsprintf(&largerBuf, format, args_copy );
402 }
403 va_end(args_copy);
404
405#endif /* HAVE_VSNPRINTF */
406
407 va_end( args );
408
409 if (return_val < 0)
410 return -1;
411
412 context = msIO_getHandler( fp );
413 if( context == NULL )
414 return_val = fwrite( largerBuf?largerBuf:workBuf, 1, return_val, fp );
415 else
416 return_val = msIO_contextWrite( context,
417 largerBuf?largerBuf:workBuf,
418 return_val );
419
420 msFree(largerBuf);
421
422 return return_val;
423}
424
425/************************************************************************/
426/* msIO_vfprintf() */

Callers 15

msCleanupOnSignalFunction · 0.85
msOWSPrintMetadataFunction · 0.85
msOWSPrintEncodeMetadataFunction · 0.85
msOWSPrintGroupMetadataFunction · 0.85
msOWSPrintURLTypeFunction · 0.85
msOWSPrintParamFunction · 0.85
msOWSPrintEncodeParamFunction · 0.85
msOWSPrintMetadataListFunction · 0.85

Calls 5

msSetErrorFunction · 0.85
_ms_vsprintfFunction · 0.85
msIO_getHandlerFunction · 0.85
msIO_contextWriteFunction · 0.85
msFreeFunction · 0.85

Tested by

no test coverage detected