version 1.3.8.1, 2011/04/19 22:32:16
|
version 1.4.4.3, 2011/05/17 20:25:20
|
Line 27 are met:
|
Line 27 are met:
|
must display the following acknowledgement: |
must display the following acknowledgement: |
This product includes software developed by Michael Pounov <misho@elwix.org> |
This product includes software developed by Michael Pounov <misho@elwix.org> |
ELWIX - Embedded LightWeight unIX and its contributors. |
ELWIX - Embedded LightWeight unIX and its contributors. |
4. Neither the name of the University nor the names of its contributors | 4. Neither the name of AITNET nor the names of its contributors |
may be used to endorse or promote products derived from this software |
may be used to endorse or promote products derived from this software |
without specific prior written permission. |
without specific prior written permission. |
|
|
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | THIS SOFTWARE IS PROVIDED BY AITNET AND CONTRIBUTORS ``AS IS'' AND |
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
Line 52 SUCH DAMAGE.
|
Line 52 SUCH DAMAGE.
|
* @psLine = Text string |
* @psLine = Text string |
* return: 0 nothing to do; !=0 Removed bytes |
* return: 0 nothing to do; !=0 Removed bytes |
*/ |
*/ |
inline int io_LTrimStr(u_char * __restrict psLine) | inline int |
| io_LTrimStr(u_char * __restrict psLine) |
{ |
{ |
int pos = 0; |
int pos = 0; |
u_char *s; |
u_char *s; |
Line 72 inline int io_LTrimStr(u_char * __restrict psLine)
|
Line 73 inline int io_LTrimStr(u_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 io_RTrimStr(u_char * __restrict psLine) | inline int |
| io_RTrimStr(u_char * __restrict psLine) |
{ |
{ |
u_char *t, *pos; |
u_char *t, *pos; |
|
|
Line 91 inline int io_RTrimStr(u_char * __restrict psLine)
|
Line 93 inline int io_RTrimStr(u_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 io_TrimStr(u_char * __restrict psLine) | inline int |
| io_TrimStr(u_char * __restrict psLine) |
{ |
{ |
int ret = 0; |
int ret = 0; |
|
|
Line 106 inline int io_TrimStr(u_char * __restrict psLine)
|
Line 109 inline int io_TrimStr(u_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 io_UnquotStr(u_char * __restrict psLine) | inline int |
| io_UnquotStr(u_char * __restrict psLine) |
{ |
{ |
char *pos, *str = NULL; |
char *pos, *str = NULL; |
int flg; |
int flg; |
Line 139 inline int io_UnquotStr(u_char * __restrict psLine)
|
Line 143 inline int io_UnquotStr(u_char * __restrict psLine)
|
* @lineLen = Length of Text string |
* @lineLen = Length of Text string |
* return: NULL nothing to do or error; !=0 Allocated new converted data without term\0 (must be free) |
* return: NULL nothing to do or error; !=0 Allocated new converted data without term\0 (must be free) |
*/ |
*/ |
inline u_char *io_Ch2Hex(u_char *psLine, int lineLen) | inline u_char * |
| io_Ch2Hex(u_char *psLine, int lineLen) |
{ |
{ |
register int i; |
register int i; |
char szWork[3]; |
char szWork[3]; |
Line 170 inline u_char *io_Ch2Hex(u_char *psLine, int lineLen)
|
Line 175 inline u_char *io_Ch2Hex(u_char *psLine, int lineLen)
|
* @lineLen = Length of Text string |
* @lineLen = Length of Text string |
* return: NULL nothing to do or error; !=0 Allocated new converted string(must be free) |
* return: NULL nothing to do or error; !=0 Allocated new converted string(must be free) |
*/ |
*/ |
inline char *io_Hex2Ch(u_char *psLine, int lineLen) | inline char * |
| io_Hex2Ch(u_char *psLine, int lineLen) |
{ |
{ |
register int i; |
register int i; |
char szWork[3], *str; |
char szWork[3], *str; |
Line 192 inline char *io_Hex2Ch(u_char *psLine, int lineLen)
|
Line 198 inline char *io_Hex2Ch(u_char *psLine, int lineLen)
|
} |
} |
|
|
return str; |
return str; |
|
} |
|
|
|
/* |
|
* io_CopyEnv() Copy environment to new environment array; |
|
* @oldenv = Environment array |
|
* return: NULL error; !=NULL Allocated new environment array(must be free) |
|
*/ |
|
char ** |
|
io_CopyEnv(const char **oldenv) |
|
{ |
|
char **newenv, **el; |
|
register int i, num; |
|
|
|
if (!oldenv) |
|
return NULL; |
|
else |
|
newenv = el = NULL; |
|
|
|
/* count items environment */ |
|
for (i = num = 0; oldenv[i]; i++) |
|
if (*strchr(oldenv[i], '=')) |
|
num++; |
|
|
|
/* create and copy new environment */ |
|
newenv = calloc(num + 1, sizeof(char*)); |
|
if (!newenv) { |
|
LOGERR; |
|
return NULL; |
|
} else |
|
el = newenv; |
|
|
|
for (i = 0; oldenv[i]; i++) |
|
if (*strchr(oldenv[i], '=')) { |
|
*el = strdup(oldenv[i]); |
|
el++; |
|
} |
|
*el = NULL; |
|
|
|
return newenv; |
|
} |
|
|
|
/* |
|
* io_ExecArgs() Build exec arguments from other array |
|
* @psProg = Program name for execute |
|
* @oldarg = Arguments array |
|
* return: NULL error; !=NULL Allocated execution array(must be free) |
|
*/ |
|
char ** |
|
io_ExecArgs(const char *psProg, const char **oldarg) |
|
{ |
|
char **newarg, **el; |
|
register int i, num; |
|
|
|
if (!psProg || !oldarg) |
|
return NULL; |
|
else |
|
newarg = el = NULL; |
|
|
|
/* count items arguments */ |
|
for (num = 0; oldarg[num]; num++); |
|
|
|
/* create and copy new arguments */ |
|
newarg = calloc(num + 2, sizeof(char*)); |
|
if (!newarg) { |
|
LOGERR; |
|
return NULL; |
|
} else |
|
el = newarg; |
|
|
|
*el = strdup(psProg); |
|
el++; |
|
|
|
for (i = 0; oldarg[i]; i++, el++) |
|
*el = strdup(oldarg[i]); |
|
*el = NULL; |
|
|
|
return newarg; |
|
} |
|
|
|
/* |
|
* io_FreeNullTerm() Free dynamic allocated null terminated array with strings |
|
* @arr = Pointer to array for free |
|
* return: none |
|
*/ |
|
inline void |
|
io_FreeNullTerm(char *** __restrict arr) |
|
{ |
|
char **a; |
|
|
|
if (arr && *arr) { |
|
a = *arr; |
|
while (a && *a) |
|
free(*a++); |
|
free(*arr); |
|
*arr = NULL; |
|
} |
} |
} |