Graphviz 12.1.0~dev.20240716.1117
|
C implementation of gv_fopen
More...
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <util/gv_fopen.h>
Go to the source code of this file.
Functions | |
static FILE * | fopen_ (const char *filename, const char *mode) |
platform abstraction over fopen | |
FILE * | gv_fopen (const char *filename, const char *mode) |
|
static |
Definition at line 15 of file gv_fopen.c.
References NULL.
Referenced by gv_fopen().
FILE * gv_fopen | ( | const char * | filename, |
const char * | mode | ||
) |
open a file, setting close-on-exec
Generally, library code should set close-on-exec (O_CLOEXEC
) on file descriptors it creates to avoid child processes of concurrent fork
+exec
operations accidentally inheriting copies of the descriptors. It is tricky to achieve this without races. This function attempts to avoid the common problems when trying to do this with fopen
.
filename | A filename, as you would pass to fopen |
mode | A mode, as you would pass to fopen |
NULL
on failure Definition at line 31 of file gv_fopen.c.
References err, flags, fopen_(), and NULL.
Referenced by gvNextInputGraph(), and nextFile().