--- libelwix/inc/elwix/astr.h 2013/01/17 10:05:35 1.1.1.1 +++ libelwix/inc/elwix/astr.h 2019/01/23 13:26:28 1.8 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: astr.h,v 1.1.1.1 2013/01/17 10:05:35 misho Exp $ +* $Id: astr.h,v 1.8 2019/01/23 13:26:28 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -12,7 +12,7 @@ terms: All of the documentation and software included in the ELWIX and AITNET Releases is copyrighted by ELWIX - Sofia/Bulgaria -Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 +Copyright 2004 - 2019 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -53,7 +53,7 @@ SUCH DAMAGE. * @arr = Pointer to array for free * return: none */ -inline void str_FreeNullTerm(char *** __restrict arr); +void str_FreeNullTerm(char *** __restrict arr); /* * str_ArgsNum() - Parse and calculate number of arguments * @@ -61,7 +61,7 @@ inline void str_FreeNullTerm(char *** __restrict arr); * @csDelim = Delimiter(s) for separate * return: 0 error format; -1 error:: can`t read; >0 ok, number of items */ -inline int str_ArgsNum(const char *csArgs, const char *csDelim); +int str_ArgsNum(const char *csArgs, const char *csDelim); /* * str_ExecArgs() - Build exec arguments from other array * @@ -93,28 +93,42 @@ ait_val_t *str_Ast(const char *csString); * @psLine = Text string * return: 0 nothing to do; !=0 Removed bytes */ -inline int str_LTrim(char * __restrict psLine); +int str_LTrim(char * __restrict psLine); /* * str_RTrim() - Remove right whitespaces from text string * * @psLine = Text string * return: 0 nothing to do; !=0 Removed bytes */ -inline int str_RTrim(char * __restrict psLine); +int str_RTrim(char * __restrict psLine); /* * str_Trim() - Remove left and right whitespaces from text string * * @psLine = Text string * return: 0 nothing to do; !=0 Removed bytes */ -inline int str_Trim(char * __restrict psLine); +int str_Trim(char * __restrict psLine); /* * str_Unquot() - Remove quots from input text string * * @psLine = Text string * return: 0 nothing to do; 1 successful unquoted string */ -inline int str_Unquot(char * __restrict psLine); +int str_Unquot(char * __restrict psLine); +/* + * str_Upper() - Convert all lower characters to upper + * + * @psLine = Text string + * return: 0 nothing to do; !=0 converted chars + */ +int str_Upper(char * __restrict psLine); +/* + * str_Lower() - Convert all upper characters to lower + * + * @psLine = Text string + * return: 0 nothing to do; !=0 converted chars + */ +int str_Lower(char * __restrict psLine); /* * str_Hex2Dig() - Convert from Hex string to digit array @@ -132,6 +146,37 @@ ait_val_t *str_Hex2Dig(const char *psLine); * !=0 Allocated new converted string (must be e_free()) */ char *str_Dig2Hex(ait_val_t *digz); +/* + * str_Dig2Hex2() - Convert from digit array to Hex string + * + * @digz = Digits array + * @diglen = Array length + * return: NULL nothing to do or error; + * !=0 Allocated new converted string (must be e_free()) +*/ +char *str_Dig2Hex2(u_char *digz, int diglen); + +/* + * str_getString() - Get NULL delimited string from data buffer + * + * @data = Const data buffer + * @dlen = Data length + * @next = Return next position after string if !=NULL + * return: -1 error or size of string + */ +int str_getString(const unsigned char * __restrict data, int dlen, + char ** __restrict next); +/* + * str_getString2() - Get string from data buffer with delimiter + * + * @data = Data buffer + * @dlen = Data length + * @delim = Data delimiter + * @next = Return next position after delimited string if !=NULL + * return: -1 error or size of string + */ +int str_getString2(char * __restrict data, int dlen, char delim, + char ** __restrict next); #endif