diff --git a/src/GenerateHtml.cpp b/src/GenerateHtml.cpp
index 8de01a2..6b933e4 100644
--- a/src/GenerateHtml.cpp
+++ b/src/GenerateHtml.cpp
@@ -208,6 +208,7 @@ void generate_course_page(const std::string& course_id,
const auto& latest_term = terms_offered["latest_term"].asString();
const auto& credits = terms_offered[latest_term]["credits"];
const auto& credit_string = generate_credit_string(credits);
+ const auto& credit_string_long = credit_string + " " + (credits["credMax"].asInt() == 1 ? "credit" : "credits");
if(catalog_entry) {
description = catalog_entry["description"].asString();
@@ -273,7 +274,7 @@ void generate_course_page(const std::string& course_id,
tag(os,TAG::END,"p");
tag(os,TAG::BEGIN,R"(div id="cattrs-container")");
tag(os,TAG::BEGIN,R"(span id="credits-pill" class="attr-pill")");
- tag(os,TAG::INLINE) << credit_string << " " << (credits["credMax"].asInt() == 1 ? "credit" : "credits") << '\n';
+ tag(os,TAG::INLINE) << credit_string_long << '\n';
tag(os,TAG::END,"span");
generate_attributes(prereqs_entry["attributes"],os);
tag(os,TAG::END,"div");
@@ -296,6 +297,7 @@ void generate_course_page(const std::string& course_id,
}
std::string generate_credit_string(const Json::Value& credits) {
+ if(credits == Json::Value::null) return "?";
const int credMin = credits["min"].asInt();
const int credMax = credits["max"].asInt();
return (credMin == credMax) ? std::to_string(credMin) : (std::to_string(credMin) + "-" + std::to_string(credMax));