Example #1
0
/**
 * Concatenate two c-strings
 * @param s1
 * @param s2
 * @return CSTRING object
 */
CSTRING operator+(const CSTRING& s1, const CSTRING& s2 )
{
	unsigned int len1;
	unsigned int len2;

	len1 = s1.length();
	len2 = len1+ s2.length();

	CSTRING s(len2);

	if(s.storage.adr)
	{
		s.storage.ram->len = len2;
		strcpy(s.storage.ram->buf, s1.c_str());
		strcpy(s.storage.ram->buf + len1, s2.c_str());
	}
	return (s);
}
Example #2
0
/**
 * Test for substring
 * @param sub
 * @param pos
 * @return true if begins with sub
 */
unsigned int CSTRING::contains(CSTRING& sub, unsigned int pos) const
{
	unsigned int len;

	len = sub.length();
	if( pos+len <= length())
		if( !memcmp(c_str()+pos, sub.c_str(), len))
			return (len);
	return (0);
}
Example #3
0
/**
 * Concatenates CSTRING and char*
 * @param s1
 * @param s
 * @return CSTRING object
 */
CSTRING operator+( const CSTRING& s1, const char* s )
{
	unsigned int len1;
	unsigned int len2;

	len1 = s1.length();
	len2 = len1 + strlen(s);

	CSTRING res(len2);

	if(res.storage.adr)
	{
		res.storage.ram->len = len2;
		strcpy(res.storage.ram->buf, s1.c_str());
		strcpy(res.storage.ram->buf+ len1, s);
	}
	return (res);
}
Example #4
0
/**
 * Concatenates char and CSTRING
 * @param c
 * @param s2
 * @return CSTRING object
 */
CSTRING operator+( char c, const CSTRING& s2 )
{
	unsigned int len1;
	unsigned int len2;

	len1 = c?1:0;
	len2 = len1 + s2.length();

	CSTRING res(len2);

	if(res.storage.adr)
	{
		res.storage.ram->len = len2;
		res.storage.ram->buf[0] = c;
		strcpy(res.storage.ram->buf + len1, s2.c_str());
	}
	return (res);
}
Example #5
0
/**
 * Concatenates CSTRING and char
 * @param s1
 * @param c
 * @return CSTRING object
 */
CSTRING operator+( const CSTRING& s1, char c )
{
	unsigned int len1;
	unsigned int len2;

	len1 = s1.length();
	len2 = len1 + c?1:0;

	CSTRING res(len2);

	if(res.storage.adr)
	{
		res.storage.ram->len = len2;
		strcpy(res.storage.ram->buf, s1.c_str());
		if(c)
		{
			res.storage.ram->buf[len2--] = 0;
			res.storage.ram->buf[len2] = c;
		}
	}
	return (res);
}