|
version 1.1.1.1.2.1, 2013/03/05 13:59:12
|
version 1.8, 2018/05/31 15:35:16
|
|
Line 12 terms:
|
Line 12 terms:
|
| All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
| Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
| |
|
| Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 | Copyright 2004 - 2018 |
| by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
| |
|
| Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
|
Line 52 SUCH DAMAGE.
|
Line 52 SUCH DAMAGE.
|
| * @arr = Pointer to array for free |
* @arr = Pointer to array for free |
| * return: none |
* return: none |
| */ |
*/ |
| inline void | void |
| str_FreeNullTerm(char *** __restrict arr) |
str_FreeNullTerm(char *** __restrict arr) |
| { |
{ |
| char **a; |
char **a; |
|
Line 73 str_FreeNullTerm(char *** __restrict arr)
|
Line 73 str_FreeNullTerm(char *** __restrict arr)
|
| * @csDelim = Delimiter(s) for separate |
* @csDelim = Delimiter(s) for separate |
| * return: 0 error format; -1 error:: can`t read; >0 ok, number of items |
* return: 0 error format; -1 error:: can`t read; >0 ok, number of items |
| */ |
*/ |
| inline int | int |
| str_ArgsNum(const char *csArgs, const char *csDelim) |
str_ArgsNum(const char *csArgs, const char *csDelim) |
| { |
{ |
| register int res; |
register int res; |
|
Line 230 str_Hex2Dig(const char *psLine)
|
Line 230 str_Hex2Dig(const char *psLine)
|
| { |
{ |
| register int i, j; |
register int i, j; |
| char *str, szWork[3] = { 0, 0, 0 }; |
char *str, szWork[3] = { 0, 0, 0 }; |
| ait_val_t *v, s; | ait_val_t *v, s = AIT_VAL_INIT; |
| u_char *b; |
u_char *b; |
| int n; |
int n; |
| |
|
|
Line 298 str_Dig2Hex(ait_val_t *digz)
|
Line 298 str_Dig2Hex(ait_val_t *digz)
|
| * @psLine = Text string |
* @psLine = Text string |
| * return: 0 nothing to do; !=0 Removed bytes |
* return: 0 nothing to do; !=0 Removed bytes |
| */ |
*/ |
| inline int | int |
| str_LTrim(char * __restrict psLine) |
str_LTrim(char * __restrict psLine) |
| { |
{ |
| int pos = 0; |
int pos = 0; |
|
Line 320 str_LTrim(char * __restrict psLine)
|
Line 320 str_LTrim(char * __restrict psLine)
|
| * @psLine = Text string |
* @psLine = Text string |
| * return: 0 nothing to do; !=0 Removed bytes |
* return: 0 nothing to do; !=0 Removed bytes |
| */ |
*/ |
| inline int | int |
| str_RTrim(char * __restrict psLine) |
str_RTrim(char * __restrict psLine) |
| { |
{ |
| char *t, *pos; |
char *t, *pos; |
|
Line 341 str_RTrim(char * __restrict psLine)
|
Line 341 str_RTrim(char * __restrict psLine)
|
| * @psLine = Text string |
* @psLine = Text string |
| * return: 0 nothing to do; !=0 Removed bytes |
* return: 0 nothing to do; !=0 Removed bytes |
| */ |
*/ |
| inline int | int |
| str_Trim(char * __restrict psLine) |
str_Trim(char * __restrict psLine) |
| { |
{ |
| int ret = 0; |
int ret = 0; |
|
Line 358 str_Trim(char * __restrict psLine)
|
Line 358 str_Trim(char * __restrict psLine)
|
| * @psLine = Text string |
* @psLine = Text string |
| * return: 0 nothing to do; 1 successful unquoted string |
* return: 0 nothing to do; 1 successful unquoted string |
| */ |
*/ |
| inline int | int |
| str_Unquot(char * __restrict psLine) |
str_Unquot(char * __restrict psLine) |
| { |
{ |
| char *pos, *str = NULL; |
char *pos, *str = NULL; |
|
Line 389 str_Unquot(char * __restrict psLine)
|
Line 389 str_Unquot(char * __restrict psLine)
|
| * @psLine = Text string |
* @psLine = Text string |
| * return: 0 nothing to do; !=0 converted chars |
* return: 0 nothing to do; !=0 converted chars |
| */ |
*/ |
| inline int | int |
| str_Upper(char * __restrict psLine) |
str_Upper(char * __restrict psLine) |
| { |
{ |
| char *s; |
char *s; |
|
Line 413 str_Upper(char * __restrict psLine)
|
Line 413 str_Upper(char * __restrict psLine)
|
| * @psLine = Text string |
* @psLine = Text string |
| * return: 0 nothing to do; !=0 converted chars |
* return: 0 nothing to do; !=0 converted chars |
| */ |
*/ |
| inline int | int |
| str_Lower(char * __restrict psLine) |
str_Lower(char * __restrict psLine) |
| { |
{ |
| char *s; |
char *s; |
|
Line 429 str_Lower(char * __restrict psLine)
|
Line 429 str_Lower(char * __restrict psLine)
|
| } |
} |
| |
|
| return cx; |
return cx; |
| |
} |
| |
|
| |
/* |
| |
* 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 u_char * __restrict data, int dlen, char ** __restrict next) |
| |
{ |
| |
const u_char *pos; |
| |
|
| |
if (!data || !dlen) |
| |
return -1; |
| |
|
| |
for (pos = data; pos < data + dlen; pos++) |
| |
if (!*pos) |
| |
break; |
| |
if (*pos) { |
| |
elwix_SetErr(ENOEXEC, "Not found null-terminated string"); |
| |
return -1; |
| |
} |
| |
|
| |
if (next) |
| |
*next = (char*) pos + 1; |
| |
return pos - data + 1; |
| |
} |
| |
|
| |
/* |
| |
* 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) |
| |
{ |
| |
char *pos; |
| |
|
| |
if (!data || !dlen) |
| |
return -1; |
| |
|
| |
for (pos = data; pos < data + dlen; pos++) |
| |
if (!*pos || *pos == (u_char) delim) { |
| |
*pos = 0; |
| |
break; |
| |
} |
| |
if (*pos) { |
| |
elwix_SetErr(ENOEXEC, "Not found null-terminated string"); |
| |
return -1; |
| |
} |
| |
|
| |
if (next) |
| |
*next = (char*) pos + 1; |
| |
return pos - data; |
| } |
} |