added exit_no_std and better builds
This commit is contained in:
		
							parent
							
								
									a74b0fede2
								
							
						
					
					
						commit
						7128f8d673
					
				
							
								
								
									
										10
									
								
								.cargo/config.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.cargo/config.toml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					[unstable]
 | 
				
			||||||
 | 
					build-std = [ "std", "panic_abort" ]
 | 
				
			||||||
 | 
					build-std-features = [ "panic_immediate_abort" ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[profile.release]
 | 
				
			||||||
 | 
					strip = true  # strip symbols from the binary
 | 
				
			||||||
 | 
					opt-level = "z" # optimize for size
 | 
				
			||||||
 | 
					lto = true # link time optimization
 | 
				
			||||||
 | 
					codegen-units = 1 # decrease parallelization
 | 
				
			||||||
 | 
					panic = "abort"
 | 
				
			||||||
							
								
								
									
										46
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										46
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@ -2,6 +2,29 @@
 | 
				
			|||||||
# It is not intended for manual editing.
 | 
					# It is not intended for manual editing.
 | 
				
			||||||
version = 3
 | 
					version = 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "exit-no-std"
 | 
				
			||||||
 | 
					version = "0.1.3"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "4a608ccc67fac78c1916aa88ad75d6f6a3e353521844abce906c22a45d161d99"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "libc",
 | 
				
			||||||
 | 
					 "pc-ints",
 | 
				
			||||||
 | 
					 "winapi",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "libc"
 | 
				
			||||||
 | 
					version = "0.2.138"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "pc-ints"
 | 
				
			||||||
 | 
					version = "0.1.4"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "422b0cc3a966f6e0987d2f948c234585bd917a1f16df1470e60c56ad6de2c085"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "serde"
 | 
					name = "serde"
 | 
				
			||||||
version = "1.0.148"
 | 
					version = "1.0.148"
 | 
				
			||||||
@ -12,6 +35,7 @@ checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc"
 | 
				
			|||||||
name = "tomcat"
 | 
					name = "tomcat"
 | 
				
			||||||
version = "0.0.1"
 | 
					version = "0.0.1"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "exit-no-std",
 | 
				
			||||||
 "toml",
 | 
					 "toml",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -23,3 +47,25 @@ checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
 | 
				
			|||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "serde",
 | 
					 "serde",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "winapi"
 | 
				
			||||||
 | 
					version = "0.3.9"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "winapi-i686-pc-windows-gnu",
 | 
				
			||||||
 | 
					 "winapi-x86_64-pc-windows-gnu",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "winapi-i686-pc-windows-gnu"
 | 
				
			||||||
 | 
					version = "0.4.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "winapi-x86_64-pc-windows-gnu"
 | 
				
			||||||
 | 
					version = "0.4.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 | 
				
			||||||
 | 
				
			|||||||
@ -6,11 +6,5 @@ license = "AGPL-3.0-or-later"
 | 
				
			|||||||
authors = [ "Emma Tebibyte <emma@tebibyte.media>" ]
 | 
					authors = [ "Emma Tebibyte <emma@tebibyte.media>" ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies]
 | 
					[dependencies]
 | 
				
			||||||
 | 
					exit-no-std = "0.1.3"
 | 
				
			||||||
toml = "0.5.9"
 | 
					toml = "0.5.9"
 | 
				
			||||||
 | 
					 | 
				
			||||||
[profile.release]
 | 
					 | 
				
			||||||
strip = true  # strip symbols from the binary
 | 
					 | 
				
			||||||
opt-level = "z" # optimize for size
 | 
					 | 
				
			||||||
lto = true # link time optimization
 | 
					 | 
				
			||||||
codegen-units = 1 # decrease parallelization
 | 
					 | 
				
			||||||
panic = "abort"
 | 
					 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								rust-toolchain.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								rust-toolchain.toml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					[toolchain]
 | 
				
			||||||
 | 
					channel = "nightly"
 | 
				
			||||||
							
								
								
									
										16
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								src/main.rs
									
									
									
									
									
								
							@ -19,7 +19,7 @@ use std::env;
 | 
				
			|||||||
use std::fs::File;
 | 
					use std::fs::File;
 | 
				
			||||||
use std::io::Read;
 | 
					use std::io::Read;
 | 
				
			||||||
use std::path::Path;
 | 
					use std::path::Path;
 | 
				
			||||||
use std::process;
 | 
					use exit_no_std::exit;
 | 
				
			||||||
use std::str::FromStr;
 | 
					use std::str::FromStr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use toml::Value;
 | 
					use toml::Value;
 | 
				
			||||||
@ -29,7 +29,7 @@ fn main() {
 | 
				
			|||||||
  let argv0 = arguments.remove(0);
 | 
					  let argv0 = arguments.remove(0);
 | 
				
			||||||
  if arguments[1].is_empty() {
 | 
					  if arguments[1].is_empty() {
 | 
				
			||||||
    eprintln!("Usage: {} [table...].[value[index]] [file...]", argv0);
 | 
					    eprintln!("Usage: {} [table...].[value[index]] [file...]", argv0);
 | 
				
			||||||
    process::exit(64); // sysexits(3) EX_USAGE
 | 
					    exit(64); // sysexits(3) EX_USAGE
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  let input = &arguments[1];
 | 
					  let input = &arguments[1];
 | 
				
			||||||
  let mut content = String::new();
 | 
					  let mut content = String::new();
 | 
				
			||||||
@ -53,7 +53,7 @@ fn main() {
 | 
				
			|||||||
          Ok(i) => index = i,
 | 
					          Ok(i) => index = i,
 | 
				
			||||||
          Err(_) => {
 | 
					          Err(_) => {
 | 
				
			||||||
            eprintln!("{}: {}: Cannot index by given value.", argv0, istr);
 | 
					            eprintln!("{}: {}: Cannot index by given value.", argv0, istr);
 | 
				
			||||||
            process::exit(65); // sysexits(3) EX_DATAERR
 | 
					            exit(64); // sysexits(3) EX_USAGE
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -75,7 +75,7 @@ fn main() {
 | 
				
			|||||||
            match valiter.peek() {
 | 
					            match valiter.peek() {
 | 
				
			||||||
              Some(_) => {
 | 
					              Some(_) => {
 | 
				
			||||||
                eprintln!("{}: {}: Not a table.", argv0, item);
 | 
					                eprintln!("{}: {}: Not a table.", argv0, item);
 | 
				
			||||||
                process::exit(65); // sysexits(3) EX_DATAERR
 | 
					                exit(65); // sysexits(3) EX_DATAERR
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              None => { 
 | 
					              None => { 
 | 
				
			||||||
                match array.get(index) {
 | 
					                match array.get(index) {
 | 
				
			||||||
@ -86,7 +86,7 @@ fn main() {
 | 
				
			|||||||
                        eprintln!(
 | 
					                        eprintln!(
 | 
				
			||||||
                          "{}: {:?}: No value at given index.", argv0, index
 | 
					                          "{}: {:?}: No value at given index.", argv0, index
 | 
				
			||||||
                        );
 | 
					                        );
 | 
				
			||||||
                        process::exit(65); // sysexits(3) EX_DATAERR
 | 
					                        exit(65); // sysexits(3) EX_DATAERR
 | 
				
			||||||
                      },
 | 
					                      },
 | 
				
			||||||
                    };
 | 
					                    };
 | 
				
			||||||
                  },
 | 
					                  },
 | 
				
			||||||
@ -94,7 +94,7 @@ fn main() {
 | 
				
			|||||||
                    eprintln!(
 | 
					                    eprintln!(
 | 
				
			||||||
                      "{}: {:?}: No value at given index.", argv0, index
 | 
					                      "{}: {:?}: No value at given index.", argv0, index
 | 
				
			||||||
                    );
 | 
					                    );
 | 
				
			||||||
                    process::exit(65); // sysexits(3) EX_DATAERR
 | 
					                    exit(65); // sysexits(3) EX_DATAERR
 | 
				
			||||||
                  },
 | 
					                  },
 | 
				
			||||||
                };
 | 
					                };
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
@ -108,7 +108,7 @@ fn main() {
 | 
				
			|||||||
            match valiter.peek() {
 | 
					            match valiter.peek() {
 | 
				
			||||||
              Some(_) => {
 | 
					              Some(_) => {
 | 
				
			||||||
                eprintln!("{}: {}: Not a table.", argv0, item);
 | 
					                eprintln!("{}: {}: Not a table.", argv0, item);
 | 
				
			||||||
                process::exit(65); // sysexits(3) EX_DATAERR
 | 
					                exit(65); // sysexits(3) EX_DATAERR
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              None => out.push_str(string.as_str()),
 | 
					              None => out.push_str(string.as_str()),
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
@ -125,7 +125,7 @@ fn main() {
 | 
				
			|||||||
      },
 | 
					      },
 | 
				
			||||||
      None => {
 | 
					      None => {
 | 
				
			||||||
        eprintln!("{}: {}: No such table or key.", argv0, item);
 | 
					        eprintln!("{}: {}: No such table or key.", argv0, item);
 | 
				
			||||||
        process::exit(65); // sysexits(3) EX_DATAERR
 | 
					        exit(65); // sysexits(3) EX_DATAERR
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user