#include #include #include Status Main(String *args) { nonull(args, apply(UnavailableParameter)); return apply(NormalStatus); } int main(int argc, const char **argv) { state(!argc || !argv, Main(NULL).value); /* Establish arguments. */ String arguments[argc]; for (register int i = 0; i < argc; i++) { notok(StringUtils_FromCharBuff(&arguments[i], argv[i]), { PrintStatusDump(_); }) } /* Prepare to return. */ int rtn = 0; notok(Main(arguments), { PrintStatusDump(_); rtn = _.value; }) 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; }