/*
- * $Id: SquidString.h,v 1.11 2007/09/28 01:40:50 amosjeffries Exp $
+ * $Id: SquidString.h,v 1.12 2007/11/04 23:59:51 amosjeffries Exp $
*
* DEBUG: section 67 String
* AUTHOR: Duane Wessels
_SQUID_INLINE_ int caseCmp (char const *) const;
_SQUID_INLINE_ int caseCmp (char const *, size_t count) const;
- _SQUID_INLINE_ void set
- (char const *loc, char const ch);
+ _SQUID_INLINE_ void set(char const *loc, char const ch);
- _SQUID_INLINE_ void cut (size_t newLength);
+ _SQUID_INLINE_ void cut(size_t newLength);
- _SQUID_INLINE_ void cutPointer (char const *loc);
+ _SQUID_INLINE_ void cutPointer(char const *loc);
#if DEBUGSTRINGS
/*
- * $Id: String.cci,v 1.9 2007/05/29 13:31:38 amosjeffries Exp $
+ * $Id: String.cci,v 1.10 2007/11/04 23:59:52 amosjeffries Exp $
*
* DEBUG: section 67 String
* AUTHOR: Duane Wessels
}
int
-String::caseCmp (char const *aString) const
+String::caseCmp(char const *aString) const
{
return strcasecmp(buf(), aString);
}
int
-String::caseCmp (char const *aString, size_t count) const
+String::caseCmp(char const *aString, size_t count) const
{
return strncasecmp(buf(), aString, count);
}
-/* FIXME: this is can perform buffer overflows and underflows! */
void
-String::set (char const *loc, char const ch)
+String::set(char const *loc, char const ch)
{
+ if(loc < buf_ || loc > (buf_ + size_) ) return;
+
buf_[loc-buf_] = ch;
}
-/* FIXME: this is can perform buffer overflows and underflows! */
void
-String::cut (size_t newLength)
+String::cut(size_t newLength)
{
+ if(newLength < 0 || newLength > len_) return;
+
len_ = newLength;
buf_[newLength] = '\0';
}
-/* FIXME: this is can perform buffer overflows and underflows! */
void
-String::cutPointer (char const *loc)
+String::cutPointer(char const *loc)
{
+ if(loc < buf_ || loc > (buf_ + size_) ) return;
+
len_ = loc-buf_;
buf_[len_] = '\0';
}
os << aString.buf();
return os;
}
-
-