Derive-C
Loading...
Searching...
No Matches
file_handle.h File Reference
#include <derive-c/core/prelude.h>
#include <stdio.h>

Go to the source code of this file.

Data Structures

struct  dc_file_handle

Functions

static DC_PUBLIC dc_file_handle dc_file_handle_new (char const *path, char const *mode)
static DC_PUBLIC FILE * dc_file_handle_get (dc_file_handle *self)
static DC_PUBLIC void dc_file_handle_delete (dc_file_handle *self)

Function Documentation

◆ dc_file_handle_delete()

DC_PUBLIC void dc_file_handle_delete ( dc_file_handle * self)
static

Definition at line 18 of file file_handle.h.

18 {
19 DC_ASSERT(self->handle != NULL, "file handle is null");
20 fclose(self->handle);
21 self->handle = NULL;
22}
#define DC_ASSERT(expr,...)
Definition panic.h:37

◆ dc_file_handle_get()

DC_PUBLIC FILE * dc_file_handle_get ( dc_file_handle * self)
static

Definition at line 16 of file file_handle.h.

16{ return self->handle; }

◆ dc_file_handle_new()

DC_PUBLIC dc_file_handle dc_file_handle_new ( char const * path,
char const * mode )
static

Definition at line 10 of file file_handle.h.

10 {
11 FILE* handle = fopen(path, mode);
12 DC_ASSERT(handle != NULL, "failed to open file: %s", path);
13 return (dc_file_handle){.handle = handle};
14}