Files
redAcore/UtilCore.h
Charl Wentzel aa86837e93 Minor update:
- Move strlcase() from SelectableCore to UtilCore
2019-09-08 08:13:03 +02:00

50 lines
1.7 KiB
C

/*
* UtilCore.h
*
* Created on: 14 April 2019
* Author: wentzelc
*/
#ifndef REDACORE_UTILCORE_H_
#define REDACORE_UTILCORE_H_
// Standard C/C++ Libraries
#include <ctype.h>
// redA Libraries
/* none */
//---------------------------------------------------------------------------
// Convert raw bytes to string
char * BytesToSafeStr( const char * Bytes, const int Len, const bool NoCrLf = false, const char SpecChar = '.', char * OutBuf = NULL );
char * BytesToHexStr( const char * Bytes, const int Len, const char * Separator = " ", char * OutBuf = NULL );
char * BytesToBinStr( const char * Bytes, const int Len, const char * Separator = " ", char * OutBuf = NULL );
char * IntToBinStr( const int Bytes, const int Len, const char * Separator = " ", char * OutBuf = NULL );
// Convert string to raw bytes
inline u_int8_t HexToInt( char Digit ) {
if ((Digit >= '0') && (Digit <= '9')) return (Digit - '0');
else if ((Digit >= 'A') && (Digit <= 'F')) return (Digit - 'A'+10);
else if ((Digit >= 'a') && (Digit <= 'f')) return (Digit - 'a'+10);
else return 0;
}
char * HexStrToBytes( const char * Str, const int Len, const char * Separator = NULL, char * OutBuf = NULL );
char * BinStrToBytes( const char * Str, const int Len, const char * Separator = NULL, char * OutBuf = NULL );
// Search string data
char * StrSearch( const char * Haystack, const char * Needle, const int hLen = 0, const int nLen = 0 );
// Convert string to lower case
inline char * strlcase( char * Str ) {
for (char * Ch = Str; *Ch; Ch++ )
*Ch = tolower(*Ch);
return Str;
}
//---------------------------------------------------------------------------
#endif /* REDACORE_UTILCORE_H_ */