(SOC) Storage Only Commit - Wed 26 Jun 09:14:47 CST 2024

This commit is contained in:
William
2024-06-26 09:14:47 +08:00
parent 6d55003f9b
commit bc16b23747

90
main.c
View File

@@ -2,7 +2,7 @@
#include <Compound/string.h> #include <Compound/string.h>
#include <Compound/var.h> #include <Compound/var.h>
Status Main(Array type(String) *args) Status Main(String *args)
{ {
nonull(args, apply(UnavailableParameter)); nonull(args, apply(UnavailableParameter));
@@ -12,47 +12,65 @@ Status Main(Array type(String) *args)
int main(int argc, const char **argv) int main(int argc, const char **argv)
{ {
state(!argc || !argv, Main(NULL).value); state(!argc || !argv, Main(NULL).value);
/* Construct argv. */ /* Establish arguments. */
Array type(String) Arguments; String arguments[argc];
notok(Array_Create(&Arguments, argc, sizeof(String)), { for (register int i = 0; i < argc; i++) {
PrintStatusDump(apply(annot(_, notok(StringUtils_FromCharBuff(&arguments[i], argv[i]), {
"Failed to create array for argv."))); PrintStatusDump(_);
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; /* Prepare to return. */
notok(Main(&Arguments), { int rtn = 0;
notok(Main(arguments), {
PrintStatusDump(_); PrintStatusDump(_);
rtn = _.value; rtn = _.value;
}) })
/* Destruct argv. */
(void)Array_Delete(&Arguments);
return rtn; 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;
} }