From 56bd5a2d47a4d1cf01994dfc6172f93cdb4cb4fc Mon Sep 17 00:00:00 2001 From: *Nix Fanboy <63163893+nix-enthusiast@users.noreply.github.com> Date: Fri, 25 Oct 2024 16:02:14 +0300 Subject: [PATCH] CLI Update! - CLI is upgraded --- main.go | 47 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/main.go b/main.go index adc733b..3ce9907 100644 --- a/main.go +++ b/main.go @@ -23,11 +23,8 @@ func toGoString(cStr *C.char) string { } } -func main() { - argv := os.Args[1:] - isMultiple := len(argv) > 1 - - for _, fileName := range argv { +func printObjects(fileNames []string, isMultiple bool) { + for _, fileName := range fileNames { CFileName := C.CString(fileName) fileContent, err := os.ReadFile(fileName) @@ -142,3 +139,43 @@ func main() { C.free(unsafe.Pointer(CFileName)) } } + +func main() { + argv := os.Args[1:] + argc := len(argv) + + helpMenu := ` OBJDetect - A Tool To Get Information About The Executable/Library Files +-------------------------------------------------------------------------- + + DESCRIPTION +------------- + cn [-h | /H | --help | help] : prints this message + cn [-i | /I | --input | ipt] : parses files to get information` + + if argc == 0 { + fmt.Println(helpMenu) + return + } + + isMultiple := argc > 2 + flag := argv[0] + + switch flag { + case "-h": + fmt.Println(helpMenu) + return + + case "-i": + if argc < 2 { + _, _ = fmt.Fprintf(os.Stderr, "Enter a file. Type 'objdetect -h' to get help") + os.Exit(1) + } + + printObjects(argv[1:], isMultiple) + return + + default: + _, _ = fmt.Fprintf(os.Stderr, "Invalid flag. Type 'objdetect -h' to get help") + os.Exit(1) + } +}