Quellcode durchsuchen

printf: Port to LibMain

Brian Gianforcaro vor 3 Jahren
Ursprung
Commit
544609b40f
2 geänderte Dateien mit 8 neuen und 3 gelöschten Zeilen
  1. 1 0
      Userland/Utilities/CMakeLists.txt
  2. 7 3
      Userland/Utilities/printf.cpp

+ 1 - 0
Userland/Utilities/CMakeLists.txt

@@ -162,6 +162,7 @@ target_link_libraries(ping LibMain)
 target_link_libraries(pls LibCrypt LibMain)
 target_link_libraries(pmap LibMain)
 target_link_libraries(pmemdump LibMain)
+target_link_libraries(printf LibMain)
 target_link_libraries(pro LibMain LibProtocol)
 target_link_libraries(profile LibMain)
 target_link_libraries(ps LibMain)

+ 7 - 3
Userland/Utilities/printf.cpp

@@ -9,6 +9,7 @@
 #include <AK/String.h>
 #include <AK/StringBuilder.h>
 #include <AK/Types.h>
+#include <LibMain/Main.h>
 #include <stdio.h>
 #include <unistd.h>
 
@@ -253,10 +254,13 @@ static String handle_escapes(const char* string)
     return builder.build();
 }
 
-int main(int argc, char** argv)
+ErrorOr<int> serenity_main(Main::Arguments arguments)
 {
-    if (argc < 2)
-        return 1;
+    if (arguments.argc < 2)
+        return Error::from_errno(EINVAL);
+
+    auto argc = arguments.argc;
+    auto argv = arguments.argv;
 
     ++argv;
     String format = handle_escapes(*(argv++));