File: ferrorf.c

package info (click to toggle)
c-cpp-reference 2.0.2-8
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 8,016 kB
  • ctags: 4,612
  • sloc: ansic: 26,960; sh: 11,014; perl: 1,854; cpp: 1,324; asm: 1,239; python: 258; makefile: 119; java: 77; awk: 34; csh: 9
file content (25 lines) | stat: -rwxr-xr-x 687 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*  FERRORF.C
**  Prints error message with printf() formatting syntax, then a colon,
**  then a message corressponding to the value of errno, then a newline.
**  Output is to filehandle.
**
**  Public Domain by Mark R. Devlin, free usage is permitted.
*/
 
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
 
int ferrorf(FILE *filehandle, const char *format, ...)
{
    int vfp, fp;
    va_list vargs;
 
    vfp = fp = 0;
    va_start(vargs, format);
    vfp = vfprintf(filehandle, format, vargs);
    va_end(vargs);
    fp = fprintf(filehandle, ": %s\n", sys_errlist[errno]);
    return ((vfp==EOF || fp==EOF) ? EOF : (vfp+fp));
}