Nilorea Library
C utilities for networking, threading, graphics
Loading...
Searching...
No Matches
n_str.c File Reference

string function Everything you need to use string is here More...

#include "nilorea/n_common.h"
#include "nilorea/n_log.h"
#include "nilorea/n_str.h"
#include <errno.h>
#include <pthread.h>
#include <math.h>
#include <ctype.h>
#include <stdio.h>
#include <string.h>
#include <limits.h>
#include <stdlib.h>
#include <dirent.h>
+ Include dependency graph for n_str.c:

Go to the source code of this file.

Functions

int _free_nstr (N_STR **ptr)
 Free a N_STR structure and set the pointer to NULL.
 
N_STRchar_to_nstr (const char *src)
 Convert a char into a N_STR, short version.
 
int char_to_nstr_ex (const char *from, NSTRBYTE nboct, N_STR **to)
 Convert a char into a N_STR, extended version.
 
N_STRchar_to_nstr_nocopy (char *src)
 Convert a char into a N_STR, direct use of linked source pointer, short version.
 
int char_to_nstr_nocopy_ex (char *from, NSTRBYTE nboct, N_STR **to)
 Convert a char into a N_STR, direct use of linked source pointer, extended version.
 
int empty_nstr (N_STR *nstr)
 empty a N_STR string
 
N_STRfile_to_nstr (char *filename)
 Load a whole file into a N_STR.
 
int free_nstr_nolog (N_STR **ptr)
 Free a N_STR structure and set the pointer to NULL.
 
void free_nstr_ptr (void *ptr)
 Free a N_STR pointer structure.
 
void free_nstr_ptr_nolog (void *ptr)
 Free a N_STR pointer structure.
 
int free_split_result (char ***tab)
 Free a split result allocated array.
 
char * join (char **splitresult, char *delim)
 join the array into a string
 
N_STRnew_nstr (NSTRBYTE size)
 create a new N_STR string
 
char * nfgets (char *buffer, NSTRBYTE size, FILE *stream)
 try to fgets
 
int nstr_realloc (N_STR *nstr, size_t size)
 fn int nstr_realloc( N_STR *nstr , size_t size )
 
int nstr_to_fd (N_STR *str, FILE *out, int lock)
 Write a N_STR content into a file.
 
int nstr_to_file (N_STR *str, char *filename)
 Write a N_STR content into a file.
 
int nstrcat (N_STR *dst, N_STR *src)
 Add N_STR *src content to N_STR *dst, resizing it if needed.
 
int nstrcat_bytes (N_STR *dest, void *data)
 Append data into N_STR using internal N_STR size and cursor position.
 
int nstrcat_bytes_ex (N_STR *dest, void *data, NSTRBYTE size)
 Append data into N_STR using internal N_STR size and cursor position.
 
int nstrcat_ex (N_STR *dest, void *src, NSTRBYTE size, int resize_flag)
 Append data into N_STR using internal N_STR size and cursor position.
 
N_STRnstrdup (N_STR *str)
 Duplicate a N_STR.
 
int scan_dir (const char *dir, LIST *result, const int recurse)
 Scan a list of directory and return a list of char *file.
 
int scan_dir_ex (const char *dir, const char *pattern, LIST *result, const int recurse, const int mode)
 Scan a list of directory and return a list of char *file.
 
int skipu (char *string, char toskip, NSTRBYTE *iterator, int inc)
 skip until 'toskip' occurence is found from 'iterator' to the next 'toskip' value.
 
int skipw (char *string, char toskip, NSTRBYTE *iterator, int inc)
 skip while 'toskip' occurence is found from 'iterator' to the next non 'toskip' position.
 
char ** split (const char *str, const char *delim, int empty)
 split the strings into a an array of char *pointer , ended by a NULL one.
 
int split_count (char **split_result)
 Count split elements.
 
char * str_replace (const char *string, const char *substr, const char *replacement)
 Replace "substr" by "replacement" inside string taken from http://coding.debuntu.org/c-implementing-str_replace-replace-all-occurrences-substring By Chantra.
 
int str_sanitize (char *string, const char *mask, const char replacement)
 clean a string by replacing evil characteres
 
int str_sanitize_ex (char *string, const NSTRBYTE string_len, const char *mask, const NSTRBYTE masklen, const char replacement)
 clean a string by replacing evil characteres
 
int str_to_int (const char *s, int *i, const int base)
 Helper for string to integer.
 
int str_to_int_ex (const char *s, NSTRBYTE start, NSTRBYTE end, int *i, const int base)
 Helper for string[start to end] to integer.
 
int str_to_int_nolog (const char *s, NSTRBYTE start, NSTRBYTE end, int *i, const int base, N_STR **infos)
 Helper for string[start to end] to integer.
 
int str_to_long (const char *s, long int *i, const int base)
 Helper for string to integer.
 
int str_to_long_ex (const char *s, NSTRBYTE start, NSTRBYTE end, long int *i, const int base)
 Helper for string[start to end] to long integer.
 
int str_to_long_long (const char *s, long long int *i, const int base)
 Helper for string to integer.
 
int str_to_long_long_ex (const char *s, NSTRBYTE start, NSTRBYTE end, long long int *i, const int base)
 Helper for string[start to end] to long long integer.
 
int strcpy_u (char *from, char *to, NSTRBYTE to_size, char split, NSTRBYTE *it)
 Copy from start to dest until from[ iterator ] == split.
 
int strlo (char *string, char *dest)
 Upper case a string.
 
int strup (char *string, char *dest)
 Upper case a string.
 
char * trim (char *s)
 trim and put a \0 at the end, return new char *
 
char * trim_nocopy (char *s)
 trim and zero end the string, WARNING: keep and original pointer to delete the string correctly
 
int wildmat (register const char *text, register const char *p)
 Written by Rich Salz rsalz at osf.org, refurbished by me.
 
int wildmatcase (register const char *text, register const char *p)
 Written by Rich Salz rsalz at osf.org, refurbished by me.
 
int write_and_fit (char **dest, NSTRBYTE *size, NSTRBYTE *written, const char *src)
 concatenate a copy of src of size strlen( src ) to dest, starting at dest[ written ], updating written and size variable, allocation of new blocks of (needed size + 512) if resize is needed.
 
int write_and_fit_ex (char **dest, NSTRBYTE *size, NSTRBYTE *written, const char *src, NSTRBYTE src_size, NSTRBYTE additional_padding)
 concatenate a copy of src of size src_size to dest, starting at dest[ written ], updating written and size variable, allocation of new blocks of (needed size + additional_padding ) if resize is needed.
 

Detailed Description

string function Everything you need to use string is here

Author
Castagnier Mickael
Version
1.0
Date
01/04/05

Definition in file n_str.c.

Function Documentation

◆ nstr_realloc()

int nstr_realloc ( N_STR nstr,
size_t  size 
)

fn int nstr_realloc( N_STR *nstr , size_t size )

reallocate a nstr internal buffer. Warning: N_STR content will be reset !

Parameters
nstrtargeted N_STR *string
sizenew internal buffer size
Returns
TRUE or FALSE

Definition at line 1679 of file n_str.c.

References __n_assert, FreeNoLog, and Reallocz.