girara
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
utils.h
Go to the documentation of this file.
1 /* See LICENSE file for license and copyright information */
2 
3 #ifndef GIRARA_UTILS_H
4 #define GIRARA_UTILS_H
5 
6 #include <stdio.h>
7 #include "types.h"
8 #include "macros.h"
9 
13 typedef enum {
19 
28 char* girara_get_home_directory(const char* user);
29 
38 
45 bool girara_xdg_open(const char* uri);
46 
53 girara_list_t* girara_split_path_array(const char* patharray);
54 
62 char* girara_fix_path(const char* path);
63 
71 FILE* girara_file_open(const char* path, const char* mode);
72 
79 char* girara_file_read_line(FILE* file);
80 
87 char* girara_file_read(const char* path);
88 
95 char* girara_file_read2(FILE* file);
96 
102 void girara_clean_line(char* line);
103 
112 void* girara_safe_realloc(void** ptr, size_t size) GIRARA_ALLOC_SIZE(2);
113 
118 #define girara_debug(...) _girara_debug(__FUNCTION__, __LINE__, GIRARA_DEBUG, __VA_ARGS__)
119 
123 #define girara_info(...) _girara_debug(__FUNCTION__, __LINE__, GIRARA_INFO, __VA_ARGS__)
124 
128 #define girara_warning(...) _girara_debug(__FUNCTION__, __LINE__, GIRARA_WARNING, __VA_ARGS__)
129 
133 #define girara_error(...) _girara_debug(__FUNCTION__, __LINE__, GIRARA_ERROR, __VA_ARGS__)
134 
143 void _girara_debug(const char* function, int line, girara_debug_level_t level,
144  const char* format, ...) GIRARA_PRINTF(4, 5);
145 
151 
158 
164 char* girara_escape_string(const char* value);
165 
173 bool girara_exec_with_argument_list(girara_session_t* session, girara_list_t* argument_list);
174 
175 #endif
void * girara_safe_realloc(void **ptr, size_t size) GIRARA_ALLOC_SIZE(2)
Definition: utils.c:378
girara_debug_level_t
Definition: types.h:58
char * girara_file_read2(FILE *file)
Definition: utils.c:308
char * girara_get_xdg_path(girara_xdg_path_t path)
Definition: utils.c:131
void girara_set_debug_level(girara_debug_level_t level)
Definition: utils.c:446
girara_xdg_path_t
Definition: utils.h:13
#define GIRARA_ALLOC_SIZE(x)
Definition: macros.h:47
char * girara_get_home_directory(const char *user)
Definition: utils.c:91
char * girara_escape_string(const char *value)
Definition: utils.c:468
void girara_debug_level_t girara_get_debug_level()
Definition: utils.c:440
Definition: utils.h:15
void _girara_debug(const char *function, int line, girara_debug_level_t level, const char *format,...) GIRARA_PRINTF(4
FILE * girara_file_open(const char *path, const char *mode)
Definition: utils.c:184
bool girara_xdg_open(const char *uri)
Definition: utils.c:67
void girara_clean_line(char *line)
Definition: utils.c:350
bool girara_exec_with_argument_list(girara_session_t *session, girara_list_t *argument_list)
Definition: utils.c:487
char * girara_file_read(const char *path)
Definition: utils.c:291
#define GIRARA_PRINTF(format_idx, arg_idx)
Definition: macros.h:11
char * girara_file_read_line(FILE *file)
Definition: utils.c:269
girara_list_t * girara_split_path_array(const char *patharray)
Definition: utils.c:167
char * girara_fix_path(const char *path)
Definition: utils.c:30