From bc16b237476261e2b7ecb9e583316c1a8def532f Mon Sep 17 00:00:00 2001 From: William Date: Wed, 26 Jun 2024 09:14:47 +0800 Subject: [PATCH] (SOC) Storage Only Commit - Wed 26 Jun 09:14:47 CST 2024 --- main.c | 90 +++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 54 insertions(+), 36 deletions(-) diff --git a/main.c b/main.c index 410ce3b..ad5f726 100644 --- a/main.c +++ b/main.c @@ -2,7 +2,7 @@ #include #include -Status Main(Array type(String) *args) +Status Main(String *args) { nonull(args, apply(UnavailableParameter)); @@ -12,47 +12,65 @@ Status Main(Array type(String) *args) int main(int argc, const char **argv) { state(!argc || !argv, Main(NULL).value); - - /* Construct argv. */ - Array type(String) Arguments; - notok(Array_Create(&Arguments, argc, sizeof(String)), { - PrintStatusDump(apply(annot(_, - "Failed to create array for argv."))); - return _.value; - }); - - /* Assigning contents from argv. */ - for (register int i = 0; i < Arguments.len; i++) { - String Current; - notok(String_Create(&Current, strlen(argv[i])), { - PrintStatusDump(apply(annot(_, - "Failed to create string instance for contents from argv."))); - return _.value; + + /* Establish arguments. */ + String arguments[argc]; + for (register int i = 0; i < argc; i++) { + notok(StringUtils_FromCharBuff(&arguments[i], argv[i]), { + PrintStatusDump(_); }) - notok(StringUtils_FromCharBuff(&Current, argv[i]), { - PrintStatusDump(apply(annot(_, - "Failed to convert char buffer into string."))); - (void)String_Delete(&Current); - return _.value; - }) - /* Set value with Current. */ - notok(Array_SetIdx(&Arguments, &Current.data.members[0], i), { - PrintStatusDump(apply(annot(_, - "Failed to set member for "nameof(Arguments)"."))); - return _.value; - }) - (void)String_Delete(&Current); } - /* Start the programme. */ - int rtn; - notok(Main(&Arguments), { + + /* Prepare to return. */ + int rtn = 0; + notok(Main(arguments), { PrintStatusDump(_); rtn = _.value; }) - /* Destruct argv. */ - (void)Array_Delete(&Arguments); - return rtn; + + // /* Construct argv. */ + // Array type(String) Arguments; + // notok(Array_Create(&Arguments, argc, sizeof(String)), { + // PrintStatusDump(apply(annot(_, + // "Failed to create array for argv."))); + // return _.value; + // }); + + // /* Assigning contents from argv. */ + // for (register int i = 0; i < Arguments.len; i++) { + // String Current; + // notok(String_Create(&Current, strlen(argv[i])), { + // PrintStatusDump(apply(annot(_, + // "Failed to create string instance for contents from argv."))); + // return _.value; + // }) + // notok(StringUtils_FromCharBuff(&Current, argv[i]), { + // PrintStatusDump(apply(annot(_, + // "Failed to convert char buffer into string."))); + // (void)String_Delete(&Current); + // return _.value; + // }) + // /* Set value with Current. */ + // notok(Array_SetIdx(&Arguments, &Current.data.members[0], i), { + // PrintStatusDump(apply(annot(_, + // "Failed to set member for "nameof(Arguments)"."))); + // return _.value; + // }) + // (void)String_Delete(&Current); + // } + + // /* Start the programme. */ + // int rtn; + // notok(Main(&Arguments), { + // PrintStatusDump(_); + // rtn = _.value; + // }) + + // /* Destruct argv. */ + // (void)Array_Delete(&Arguments); + + // return rtn; }