girara
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros | Functions
utils.c File Reference
#include <ctype.h>
#include <glib.h>
#include <glib/gi18n-lib.h>
#include <limits.h>
#include <pwd.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
#include "utils.h"
#include "datastructures.h"
#include "session.h"
#include "settings.h"
Include dependency graph for utils.c:

Go to the source code of this file.

Macros

#define _DEFAULT_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 update_state_by_keyval (int *state, int keyval)
 
char * girara_escape_string (const char *value)
 
char * girara_replace_substring (const char *string, const char *old, const char *new)
 
bool girara_exec_with_argument_list (girara_session_t *session, girara_list_t *argument_list)
 
void widget_add_class (GtkWidget *widget, const char *styleclass)
 

Macro Definition Documentation

#define _DEFAULT_SOURCE

Definition at line 3 of file utils.c.

#define _FILE_OFFSET_BITS   64

Definition at line 7 of file utils.c.

#define _XOPEN_SOURCE   700

Definition at line 5 of file utils.c.

#define BLOCK_SIZE   64

Definition at line 27 of file utils.c.

Function Documentation

void girara_clean_line ( char *  line)

Trims and cleans a line from multiple whitespaces

Parameters
line

Definition at line 354 of file utils.c.

char* girara_escape_string ( const char *  value)

Escape \, \t, ", ' and spaces in strings.

Parameters
valueThe string to be escaped.
Returns
The escaped string. Needs to be freed with g_free.

Definition at line 425 of file utils.c.

bool girara_exec_with_argument_list ( girara_session_t *  session,
girara_list_t *  argument_list 
)

Execute command from argument list

Parameters
sessionThe used girara session
argument_listThe argument list
Returns
true if no error occured

Definition at line 489 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 188 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 295 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 312 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 273 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 30 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 91 of file utils.c.

char* girara_get_xdg_path ( girara_xdg_path_t  path)

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 131 of file utils.c.

char* girara_replace_substring ( const char *  string,
const char *  old,
const char *  new 
)

Replaces all occurences of old in string with new and returns a new allocated string

Parameters
stringThe original string
oldString to replace
newReplacement string
Returns
new allocated string, needs to be freed with g_free

Definition at line 444 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 382 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 171 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 67 of file utils.c.

void update_state_by_keyval ( int *  state,
int  keyval 
)

Definition at line 409 of file utils.c.

void widget_add_class ( GtkWidget *  widget,
const char *  styleclass 
)

Definition at line 532 of file utils.c.