Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
be_xml.c File Reference
#include <windows.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <errno.h>
#include <fcntl.h>
#include <ctype.h>
#include <math.h>
#include <wctype.h>
#include <wchar.h>
#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include <locale.h>
#include <signal.h>
#include <limits.h>
#include <float.h>
#include <iso646.h>
#include <assert.h>
#include <stdbool.h>

Macros

#define AMANDA__SIZE_ww   ((32767 * 2) + 2)
 
#define Z_DEBUG
 
#define AMANDA__SIZE   ((32767 * 6) + 2)
 
#define AMANDA__SIZE_w   (32767)
 

Enumerations

enum  feline_modes { FELINE_MODE_NORMAL , FELINE_MODE_DELETE_ROOT , FELINE_MODE_DELETE_NODE }
 
enum  funny_mode { FELINE_MODE_INCLUDE_ = 1001 , FELINE_MODE_EXCLUDE_ }
 
enum  { MODE_IS_REPLACE__ , MODE_IS_COUNT__ }
 

Functions

int size_of_WCHAR_mem_r (char *in_string)
 
void pedro_dprintf (int amanda_level, char *format,...)
 
wchar_t * permissive_name_m_ (const wchar_t *wname, WCHAR *ar_temp)
 
WCHAR * amanda_asciitowide_1_ (char *pUTF8, WCHAR *ar_temp)
 
int feline_read_xml (char *filename_utf8_feline, char *root__________feline, char *node__________feline, __attribute__((unused)) char *attribute_____feline, char *out_data______feline)
 
int feline_write_xml (char *filename_utf8_feline, char *root__________feline, char *node__________feline, __attribute__((unused)) char *attribute_____feline, char *in_data_______feline_)
 
int feline_remove_root_xml (char *filename_utf8_feline, char *root__________feline)
 
int feline_remove_node_xml (char *filename_utf8_feline, char *root__________feline, char *node__________feline)
 

Macro Definition Documentation

◆ AMANDA__SIZE

#define AMANDA__SIZE   ((32767 * 6) + 2)

The maximum size of an utf-8 encoded filename with the max limit of a file in Windows

◆ AMANDA__SIZE_w

#define AMANDA__SIZE_w   (32767)

The maximum size of Unicode characters in a path in Windows, Linux is 1024 characters as far I know

◆ AMANDA__SIZE_ww

#define AMANDA__SIZE_ww   ((32767 * 2) + 2)

◆ Z_DEBUG

#define Z_DEBUG

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MODE_IS_REPLACE__ 
MODE_IS_COUNT__ 

◆ feline_modes

Enumerator
FELINE_MODE_NORMAL 
FELINE_MODE_DELETE_ROOT 
FELINE_MODE_DELETE_NODE 

◆ funny_mode

enum funny_mode
Enumerator
FELINE_MODE_INCLUDE_ 
FELINE_MODE_EXCLUDE_ 

Function Documentation

◆ amanda_asciitowide_1_()

WCHAR * amanda_asciitowide_1_ ( char * pUTF8,
WCHAR * ar_temp )

To convert a utf-8 encoded filename to a wide string (WCHAR *)

Parameters
pUTF8the input utf-8 encoded filename
Returns
the static allocated WCHAR array with the filename as wide string

To convert an utf-8 encoded filename to a wide string (WCHAR *), we . provide two functions that are exactly the same because someone may use it in multi-thread code

Parameters
pUTF8the input utf-8 encoded filename
Returns
the static allocated WCHAR array with the filename as wide string

◆ feline_read_xml()

int feline_read_xml ( char * filename_utf8_feline,
char * root__________feline,
char * node__________feline,
__attribute__((unused)) char * attribute_____feline,
char * out_data______feline )

Function to get our modified and limited xml implemented file... in 2021

Parameters
filename_utf8_felinethe XML file as utf-8
attribute_____felinethe attibute to get, not implemented...but will in a near future
node__________felinethe node
out_data______felinethe output char * need to have space enough for the data or an memory access error can occur
Returns
0 if no error, 1 if XML file is not valid, 2 if root not found

◆ feline_remove_node_xml()

int feline_remove_node_xml ( char * filename_utf8_feline,
char * root__________feline,
char * node__________feline )

Function to remove a node if you are a clean programmer...

Parameters
filename_utf8_felinethe XML file
root__________felinethe root
node__________felinethe node to get rid from the XML file
Returns
0 if no error, 1 otherwise, as you may expect...

◆ feline_remove_root_xml()

int feline_remove_root_xml ( char * filename_utf8_feline,
char * root__________feline )

Function to remove a node if you need to do it...

Parameters
filename_utf8_felinethe XML file
root__________felinethe root
Returns
0 if no error, 1 otherwise

◆ feline_write_xml()

int feline_write_xml ( char * filename_utf8_feline,
char * root__________feline,
char * node__________feline,
__attribute__((unused)) char * attribute_____feline,
char * in_data_______feline_ )

Function to write XML file

Parameters
filename_utf8_felinethe XML file...
root__________felinethe root, if it don't exist it will be created
node__________felinethe node, if it don't exist it will be created
attribute_____felinethe attibute, not in use in this version but will in the future
in_data_______feline_the input data to convert and save to the not standard XML file
Returns
0 if no error, 1 if cannot write to the XML file or if the path is invalid

◆ pedro_dprintf()

void pedro_dprintf ( int amanda_level,
char * format,
... )

◆ permissive_name_m_()

wchar_t * permissive_name_m_ ( const wchar_t * wname,
WCHAR * ar_temp )

To make the path wide mode aware, stolen from libarchive

15/september/2021 10:14, last visit 16/09/2021 22:36 by bhond...

◆ size_of_WCHAR_mem_r()

int size_of_WCHAR_mem_r ( char * in_string)