Revert ".editorconfig: fixed utf8 issue"
This reverts commit d20a1da6f85ed83339668bd7c24175a11d7d2f1e.
This commit is contained in:
		
							parent
							
								
									d20a1da6f8
								
							
						
					
					
						commit
						1dff7d7e18
					
				| @ -1,7 +1,7 @@ | ||||
| root = true | ||||
| 
 | ||||
| [*] | ||||
| charset = utf-8 | ||||
| charset = utf8 | ||||
| end_of_line = lf | ||||
| indent_style = tab | ||||
| indent_size = 4 | ||||
|  | ||||
							
								
								
									
										76
									
								
								src/fop.rs
									
									
									
									
									
								
							
							
						
						
									
										76
									
								
								src/fop.rs
									
									
									
									
									
								
							| @ -1,76 +0,0 @@ | ||||
| /* | ||||
|  * Copyright (c) 2023 Emma Tebibyte <emma@tebibyte.media> | ||||
|  * SPDX-License-Identifier: AGPL-3.0-or-later | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify it under | ||||
|  * the terms of the GNU Affero General Public License as published by the Free | ||||
|  * Software Foundation, either version 3 of the License, or (at your option) any | ||||
|  * later version. | ||||
|  * 
 | ||||
|  * This program is distributed in the hope that it will be useful, but WITHOUT | ||||
|  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||||
|  * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more | ||||
|  * details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Affero General Public License | ||||
|  * along with this program. If not, see https://www.gnu.org/licenses/.
 | ||||
|  */ | ||||
| 
 | ||||
| use std::{ | ||||
| 	env::args, | ||||
| 	io::{ Read, stdin, Write }, | ||||
| 	process::{ Command, exit, Stdio }, | ||||
| }; | ||||
| 
 | ||||
| fn main() { | ||||
| 	let argv = args().collect::<Vec<String>>(); | ||||
| 
 | ||||
| 	let index = match argv.get(1) { | ||||
| 		Some(i) => { | ||||
| 			i.parse::<usize>().unwrap_or_else(|_| { | ||||
| 				eprintln!("{}: {}: Not an integer.", argv[0], i); | ||||
| 				exit(1); | ||||
| 			}) | ||||
| 		}, | ||||
| 		None => { | ||||
| 			eprintln!("Usage: {} index command args...", argv[0]); | ||||
| 			exit(1); | ||||
| 		}, | ||||
| 	}; | ||||
| 
 | ||||
| 	let mut buf = String::new(); | ||||
| 	stdin().read_to_string(&mut buf).unwrap(); | ||||
| 	let mut fields = buf.split('␞').collect::<Vec<&str>>(); | ||||
| 
 | ||||
| 	argv.get(2).unwrap_or_else(|| { | ||||
| 		eprintln!("Usage: {} index command args...", argv[0]); | ||||
| 		exit(1); | ||||
| 	}); | ||||
| 
 | ||||
| 	let opts = argv.iter().clone().skip(3).collect::<Vec<&String>>(); | ||||
| 
 | ||||
| 	let mut spawned = Command::new(argv.get(2).unwrap()) | ||||
| 		.args(opts) | ||||
| 		.stdin(Stdio::piped()) | ||||
| 		.stdout(Stdio::piped()) | ||||
| 		.spawn() | ||||
| 		.unwrap(); | ||||
| 
 | ||||
| 	let field = fields.get(index).unwrap_or_else(|| { | ||||
| 		eprintln!("{}: {}: No such index in input.", argv[0], index.to_string()); | ||||
| 		exit(1); | ||||
| 	}); | ||||
| 
 | ||||
| 	if let Some(mut child_stdin) = spawned.stdin.take() { | ||||
| 		child_stdin.write_all(field.as_bytes()).unwrap(); | ||||
| 		drop(child_stdin); | ||||
| 	} | ||||
| 
 | ||||
| 	let output = spawned.wait_with_output().unwrap(); | ||||
| 
 | ||||
| 	let new_field = String::from_utf8(output.stdout).unwrap(); | ||||
| 
 | ||||
| 	fields[index] = &new_field; | ||||
| 
 | ||||
| 	print!("{}", fields.join("␞")); | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user