77#include < cfbox/args.hpp>
88#include < cfbox/help.hpp>
99#include < cfbox/io.hpp>
10+ #include < cfbox/error.hpp>
1011
1112namespace {
1213constexpr cfbox::help::HelpEntry HELP = {
@@ -37,7 +38,7 @@ auto ar_main(int argc, char* argv[]) -> int {
3738
3839 const auto & pos = parsed.positional ();
3940 if (pos.empty ()) {
40- std::fprintf (stderr, " cfbox ar: missing archive name\n " );
41+ CFBOX_ERR ( " ar " , " missing archive name" );
4142 return 1 ;
4243 }
4344
@@ -65,7 +66,7 @@ auto ar_main(int argc, char* argv[]) -> int {
6566 }
6667 auto wresult = cfbox::io::write_all (archive, output);
6768 if (!wresult) {
68- std::fprintf (stderr, " cfbox ar: %s \n " , wresult.error ().msg .c_str ());
69+ CFBOX_ERR ( " ar " , " %s " , wresult.error ().msg .c_str ());
6970 return 1 ;
7071 }
7172 return 0 ;
@@ -74,12 +75,12 @@ auto ar_main(int argc, char* argv[]) -> int {
7475 if (list || extract) {
7576 auto input = cfbox::io::read_all (archive);
7677 if (!input) {
77- std::fprintf (stderr, " cfbox ar: %s \n " , input.error ().msg .c_str ());
78+ CFBOX_ERR ( " ar " , " %s " , input.error ().msg .c_str ());
7879 return 1 ;
7980 }
8081 const auto & data = *input;
8182 if (data.size () < 8 || data.substr (0 , 8 ) != " !<arch>\n " ) {
82- std::fprintf (stderr, " cfbox ar: not a valid archive\n " );
83+ CFBOX_ERR ( " ar " , " not a valid archive" );
8384 return 1 ;
8485 }
8586 std::size_t offset = 8 ;
@@ -95,7 +96,7 @@ auto ar_main(int argc, char* argv[]) -> int {
9596 } else if (extract) {
9697 auto content = data.substr (offset + 60 , fsize);
9798 if (!cfbox::io::write_all (name, content)) {
98- std::fprintf (stderr, " cfbox ar: write failed: %s\n " , name.c_str ());
99+ CFBOX_ERR ( " ar " , " write failed: %s" , name.c_str ());
99100 return 1 ;
100101 }
101102 }
@@ -105,6 +106,6 @@ auto ar_main(int argc, char* argv[]) -> int {
105106 return 0 ;
106107 }
107108
108- std::fprintf (stderr, " cfbox ar: must specify -r, -t, or -x\n " );
109+ CFBOX_ERR ( " ar " , " must specify -r, -t, or -x" );
109110 return 1 ;
110111}
0 commit comments