girara
Defines | Functions
utils.c File Reference
#include <ctype.h>
#include <fcntl.h>
#include <limits.h>
#include <pwd.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
#include <glib.h>
#include <stdio.h>
#include <errno.h>
#include <stdint.h>
#include "utils.h"
#include "datastructures.h"

Go to the source code of this file.

Defines

#define _BSD_SOURCE
#define _XOPEN_SOURCE   700
#define _FILE_OFFSET_BITS   64
#define BLOCK_SIZE   64

Functions

char * girara_fix_path (const char *path)
bool girara_xdg_open (const char *uri)
char * girara_get_home_directory (const char *user)
char * girara_get_xdg_path (girara_xdg_path_t path)
girara_list_t * girara_split_path_array (const char *patharray)
FILE * girara_file_open (const char *path, const char *mode)
char * girara_file_read_line (FILE *file)
char * girara_file_read (const char *path)
char * girara_file_read2 (FILE *file)
void girara_clean_line (char *line)
void * girara_safe_realloc (void **ptr, size_t size)
void _girara_debug (const char *function, int line, girara_debug_level_t level, const char *format,...)
girara_debug_level_t girara_get_debug_level ()
void girara_set_debug_level (girara_debug_level_t level)

Define Documentation

#define _BSD_SOURCE

Definition at line 3 of file utils.c.

#define _FILE_OFFSET_BITS   64

Definition at line 5 of file utils.c.

#define _XOPEN_SOURCE   700

Definition at line 4 of file utils.c.

#define BLOCK_SIZE   64

Definition at line 24 of file utils.c.


Function Documentation

void _girara_debug ( const char *  function,
int  line,
girara_debug_level_t  level,
const char *  format,
  ... 
)

Definition at line 397 of file utils.c.

void girara_clean_line ( char *  line)

Trims and cleans a line from multiple whitespaces

Parameters:
line

Definition at line 340 of file utils.c.

FILE* girara_file_open ( const char *  path,
const char *  mode 
)

Open a file in a safe way

Parameters:
pathPath of the file
modeMode that the file should be opened
Returns:
NULL if an error occured

Definition at line 174 of file utils.c.

char* girara_file_read ( const char *  path)

Reads the whole content from a file. Returned string has to be freed.

Parameters:
pathPath to the file
Returns:
Read file or NULL if an error occured

Definition at line 281 of file utils.c.

char* girara_file_read2 ( FILE *  file)

Reads the whole content from a file. Returned string has to be freed.

Parameters:
filefile to read
Returns:
Read file or NULL if an error occured

Definition at line 298 of file utils.c.

char* girara_file_read_line ( FILE *  file)

Reads a line from the file. Returned string has to be freed.

Parameters:
fileThe file stream
Returns:
Read line or NULL if an error occured

Definition at line 259 of file utils.c.

char* girara_fix_path ( const char *  path)

Returns a "fixed" version of path. Which means, it will be an absolute path and fully expanded. ~ and ~user will be replaced by the current user's home directory (user's home directory respectively).

Parameters:
paththe path to "fix".
Returns:
the "fixed" path (needs to be freed with g_free).

Definition at line 27 of file utils.c.

Get the debug level.

Returns:
The debug level.

Definition at line 433 of file utils.c.

char* girara_get_home_directory ( const char *  user)

Returns the home directory for the given user. $HOME is prefered over the value from g_get_home_dir.

Parameters:
usera username or NULL to get home directory of the current user.
Returns:
a string containing the path to the user's home directory (needs to be freed with g_free) or NULL if the user doesn't exist.

Definition at line 88 of file utils.c.

Returns a specific path specified in the XDG specification. ~ in paths will not be expanded.

Parameters:
pathwhich path to get
Returns:
a string containing the requested patch (needs to be freed with g_free) or NULL for invalid values.

Definition at line 121 of file utils.c.

void* girara_safe_realloc ( void **  ptr,
size_t  size 
)

Changes the size of the memory block by wrapping a realloc function call In addition it frees the old memory block if realloc fails.

Parameters:
ptrMemory space
sizeNumber of bytes
Returns:
Pointer to the allocated memory block or NULL

Definition at line 368 of file utils.c.

Set the debug level. Any message with a level lower than the debug level will be discarded.

Parameters:
levelThe new debug level.

Definition at line 439 of file utils.c.

girara_list_t* girara_split_path_array ( const char *  patharray)

Splits paths seperated by : (as in $PATH) into a list.

Parameters:
patharrayString like $PATH to split
Returns:
a list of paths and NULL on failure.

Definition at line 157 of file utils.c.

bool girara_xdg_open ( const char *  uri)

Opens a URI with xdg-open.

Parameters:
urithe URI to be opened.
Returns:
true on success, false otherwise

Definition at line 64 of file utils.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines