浏览代码

Kernel: Remove CommandLine::get() in favor of lookup()

lookup() returns an Optional<String> which allows us to implement easy
default values using lookup(key).value_or(default_value);
Andreas Kling 5 年之前
父节点
当前提交
e3b450005f
共有 4 个文件被更改,包括 2 次插入14 次删除
  1. 0 5
      Kernel/CommandLine.cpp
  2. 0 1
      Kernel/CommandLine.h
  3. 1 4
      Kernel/Time/TimeManagement.cpp
  4. 1 4
      Kernel/init.cpp

+ 0 - 5
Kernel/CommandLine.cpp

@@ -66,11 +66,6 @@ Optional<String> CommandLine::lookup(const String& key) const
     return m_params.get(key);
 }
 
-String CommandLine::get(const String& key) const
-{
-    return m_params.get(key).value_or({});
-}
-
 bool CommandLine::contains(const String& key) const
 {
     return m_params.contains(key);

+ 0 - 1
Kernel/CommandLine.h

@@ -39,7 +39,6 @@ public:
     static void initialize(const String&);
 
     const String& string() const { return m_string; }
-    String get(const String& key) const;
     Optional<String> lookup(const String& key) const;
     bool contains(const String& key) const;
 

+ 1 - 4
Kernel/Time/TimeManagement.cpp

@@ -143,10 +143,7 @@ Vector<HardwareTimer*> TimeManagement::scan_for_non_periodic_timers()
 
 bool TimeManagement::is_hpet_periodic_mode_allowed()
 {
-    if (!kernel_command_line().contains("hpet"))
-        return true;
-
-    auto hpet_mode = kernel_command_line().get("hpet");
+    auto hpet_mode = kernel_command_line().lookup("hpet").value_or("periodic");
     if (hpet_mode == "periodic")
         return true;
     if (hpet_mode == "nonperiodic")

+ 1 - 4
Kernel/init.cpp

@@ -216,10 +216,7 @@ void init_stage2()
     bool text_debug = kernel_command_line().contains("text_debug");
     bool force_pio = kernel_command_line().contains("force_pio");
 
-    auto root = kernel_command_line().get("root");
-    if (root.is_empty()) {
-        root = "/dev/hda";
-    }
+    auto root = kernel_command_line().lookup("root").value_or("/dev/hda");
 
     if (!root.starts_with("/dev/hda")) {
         klog() << "init_stage2: root filesystem must be on the first IDE hard drive (/dev/hda)";