static String main__ptr_Router_delete(main__ptr_Router r, String args) { String argv[2]; if (!r->is_running) { return fmt_Fprintln( os__Stderr, &(String){10, 10, "Router is not running\n"}, &([]String{{&RTYPE_string, &(String){10, 10, "Router is not running\n"}}}}); } argv = strings_Fields(args, 2); if (len_String(argv) < 2) { return fmt_Fprintln( os__Stderr, &(String){12, 12, "Incorrect number of arguments\n"}, &([]String{{&RTYPE_string, &(String){12, 12, "Incorrect number of arguments\n"}}}}); } if (len_String(argv[1]) == 3 && ((((String){3, 3, "set"}).str)[0] == argv[1].str[0] && (((String){3, 3, "set"}).str)[1] == argv[1].str[1] && (((String){3, 3, "set"}).str)[2] == argv[1].str[2]))) { String arg = argv[2]; String arg_len = len_String(arg); for (long i = 0; i < len_slice_main_DNSRecord(r->dns_records); i++) { main__DNSRecord rr = at_slice_main_DNSRecord(r->dns_records, i); if (len_String(rr.domain) == arg_len && runtime_memequal(rr.domain.str, arg.str, arg_len)) { r->dns_records = slice_main_DNSRecord(r->dns_records, 0, i - 1, r->dns_records); r->dns_records = slice_main_DNSRecord(r->dns_records, i + 1, len_slice_main_DNSRecord(r->dns_records), r->dns_records); r->dns_records = append_slice_main_DNSRecord( r->dns_records, slice_main_DNSRecord(r->dns_records, i, len_slice_main_DNSRecord(r->dns_records), r->dns_records)); r->log(concat_String(String_lit("Deleted DNS record for "), arg)); return fmt_Fprintf(os__Stderr, String_lit("Deleted DNS record for %s\n"), &([]String{{&RTYPE_string, convTstring(arg)}}}, 1, 1); } } return fmt_Fprintf(os__Stderr, String_lit("DNS record for %s not found\n"), &([]String{{&RTYPE_string, convTstring(arg)}}}, 1, 1); } if (len_String(argv[1]) == 5 && ((((String){5, 5, "route"}).str)[0] == argv[1].str[0] && (((String){5, 5, "route"}).str)[1] == argv[1].str[1] && (((String){5, 5, "route"}).str)[2] == argv[1].str[2] && (((String){5, 5, "route"}).str)[3] == argv[1].str[3] && (((String){5, 5, "route"}).str)[4] == argv[1].str[4]))) { String arg = argv[2]; String arg_len = len_String(arg); for (long i = 0; i < len_slice_main_Route(r->routes); i++) { main__Route rr = at_slice_main_Route(r->routes, i); if (len_String(rr.prefix) == arg_len && runtime_memequal(rr.prefix.str, arg.str, arg_len)) { r->routes = slice_main_Route(r->routes, 0, i - 1, r->routes); r->routes = slice_main_Route(r->routes, i + 1, len_slice_main_Route(r->routes), r->routes); r->routes = append_slice_main_Route( r->routes, slice_main_Route(r->routes, i, len_slice_main_Route(r->routes), r->routes)); r->log(concat_String(String_lit("Deleted route to "), arg)); return fmt_Fprintf(os__Stderr, String_lit("Deleted route to %s\n"), &([]String{{&RTYPE_string, convTstring(arg)}}}, 1, 1); } } return fmt_Fprintf(os__Stderr, String_lit("Route to %s not found\n"), &([]String{{&RTYPE_string, convTstring(arg)}}}, 1, 1); } if (len_String(argv[1]) == 9 && ((((String){9, 9, "interface"}).str)[0] == argv[1].str[0] && (((String){9, 9, "interface"}).str)[1] == argv[1].str[1] && (((String){9, 9, "interface"}).str)[2] == argv[1].str[2] && (((String){9, 9, "interface"}).str)[3] == argv[1].str[3] && (((String){9, 9, "interface"}).str)[4] == argv[1].str[4] && (((String){9, 9, "interface"}).str)[5] == argv[1].str[5] && (((String){9, 9, "interface"}).str)[6] == argv[1].str[6] && (((String){9, 9, "interface"}).str)[7] == argv[1].str[7] && (((String){9, 9, "interface"}).str)[8] == argv[1].str[8]))) { String arg = argv[2];
|