Kaynağa Gözat

Ladybird/QT: Avoid constructing AK String types from char* without size

While QByteArray::data does return a null-terminated char* it's nicer to
avoid strlen() when we already know the size
Simon Wanner 1 yıl önce
ebeveyn
işleme
cac23820c5
1 değiştirilmiş dosya ile 5 ekleme ve 3 silme
  1. 5 3
      Ladybird/Qt/StringUtils.cpp

+ 5 - 3
Ladybird/Qt/StringUtils.cpp

@@ -8,7 +8,8 @@
 
 AK::ByteString ak_byte_string_from_qstring(QString const& qstring)
 {
-    return AK::ByteString(qstring.toUtf8().data());
+    auto utf8_data = qstring.toUtf8();
+    return AK::ByteString(utf8_data.data(), utf8_data.size());
 }
 
 String ak_string_from_qstring(QString const& qstring)
@@ -24,10 +25,11 @@ QString qstring_from_ak_string(StringView ak_string)
 
 AK::URL ak_url_from_qstring(QString const& qstring)
 {
-    return AK::URL(qstring.toUtf8().data());
+    auto utf8_data = qstring.toUtf8();
+    return AK::URL(StringView(utf8_data.data(), utf8_data.size()));
 }
 
 AK::URL ak_url_from_qurl(QUrl const& qurl)
 {
-    return AK::URL(qurl.toString().toUtf8().data());
+    return ak_url_from_qstring(qurl.toString());
 }