if (Reason != NULL) {
m_QuitReason = strdup(Reason);
+ StrTrim(m_QuitReason, '\r');
+ StrTrim(m_QuitReason, '\n');
+
if (AllocFailed(m_QuitReason)) {
return;
}
/**
* StrTrim
*
- * Removes leading and trailing spaces from a string.
+ * Removes the specified char from the start and end of the string.
*
* @param String the string
*/
-void StrTrim(char *String) {
+void StrTrim(char *String, char Character) {
size_t Length = strlen(String);
size_t Offset = 0, i;
- // remove leading spaces
+ // remove leading chars
for (i = 0; i < Length; i++) {
- if (String[i] == ' ') {
+ if (String[i] == Character) {
Offset++;
} else {
break;
}
}
- // remove trailing spaces
- while (String[strlen(String) - 1] == ' ') {
+ // remove trailing chars
+ while (String[strlen(String) - 1] == Character) {
String[strlen(String) - 1] = '\0';
}
}
extern const char *g_ErrorFile;
extern unsigned int g_ErrorLine;
-void StrTrim(char *String);
+void StrTrim(char *String, char Character);
char *strmcpy(char *Destination, const char *Source, size_t Size);
char *strmcat(char *Destination, const char *Source, size_t Size);