--- libelwix/src/str.c 2013/01/17 10:05:35 1.1.1.1 +++ libelwix/src/str.c 2014/01/29 14:16:54 1.4 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: str.c,v 1.1.1.1 2013/01/17 10:05:35 misho Exp $ +* $Id: str.c,v 1.4 2014/01/29 14:16:54 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 - 2014 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -52,7 +52,7 @@ SUCH DAMAGE. * @arr = Pointer to array for free * return: none */ -inline void +void str_FreeNullTerm(char *** __restrict arr) { char **a; @@ -73,7 +73,7 @@ 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 +int str_ArgsNum(const char *csArgs, const char *csDelim) { register int res; @@ -298,7 +298,7 @@ str_Dig2Hex(ait_val_t *digz) * @psLine = Text string * return: 0 nothing to do; !=0 Removed bytes */ -inline int +int str_LTrim(char * __restrict psLine) { int pos = 0; @@ -320,7 +320,7 @@ str_LTrim(char * __restrict psLine) * @psLine = Text string * return: 0 nothing to do; !=0 Removed bytes */ -inline int +int str_RTrim(char * __restrict psLine) { char *t, *pos; @@ -341,7 +341,7 @@ str_RTrim(char * __restrict psLine) * @psLine = Text string * return: 0 nothing to do; !=0 Removed bytes */ -inline int +int str_Trim(char * __restrict psLine) { int ret = 0; @@ -358,7 +358,7 @@ str_Trim(char * __restrict psLine) * @psLine = Text string * return: 0 nothing to do; 1 successful unquoted string */ -inline int +int str_Unquot(char * __restrict psLine) { char *pos, *str = NULL; @@ -383,3 +383,50 @@ str_Unquot(char * __restrict psLine) return 0; } +/* + * 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) +{ + char *s; + register int cx = 0; + + if (!psLine || !*psLine) + return 0; + + for (s = psLine; *s; s++) + if (islower(*s)) { + *s = toupper(*s); + cx++; + } + + return cx; +} + +/* + * 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) +{ + char *s; + register int cx = 0; + + if (!psLine || !*psLine) + return 0; + + for (s = psLine; *s; s++) + if (isupper(*s)) { + *s = tolower(*s); + cx++; + } + + return cx; +}