diff --git a/src/content/content-type.cpp b/src/content/content-type.cpp index 77adfc33f..67859c75e 100644 --- a/src/content/content-type.cpp +++ b/src/content/content-type.cpp @@ -76,7 +76,7 @@ ContentType::ContentType (const string &contentType) : ClonableObject(*new Conte string token; do { posParam = params.find(";"); - if (posParam != string::npos) { + if (posParam == string::npos) { token = params; } else { token = params.substr(0, posParam); diff --git a/src/content/header-param.cpp b/src/content/header-param.cpp index 31c89caa5..9605a2f84 100644 --- a/src/content/header-param.cpp +++ b/src/content/header-param.cpp @@ -42,11 +42,12 @@ HeaderParam::HeaderParam (const string ¶m) : ClonableObject(*new HeaderParam size_t pos = param.find("="); size_t end = param.length(); - if (pos == string::npos) - return; - - setName(param.substr(0, pos)); - setValue(param.substr(pos + 1, end)); + if (pos == string::npos) { + setName(param); + } else { + setName(param.substr(0, pos)); + setValue(param.substr(pos + 1, end - (pos + 1))); + } } HeaderParam::HeaderParam (const string &name, const string &value) : ClonableObject(*new HeaderParamPrivate) { @@ -98,7 +99,9 @@ bool HeaderParam::setValue (const string &value) { string HeaderParam::asString () const { L_D(); - string asString = ";" + d->name + "=" + d->value; + string asString = ";" + d->name; + if (!d->value.empty()) + asString += "=" + d->value; return asString; }