/*---------------------------------------------------------------------------*/ static void res_get_handler(void *request, void *response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) { const char *len = NULL; char message[REST_MAX_CHUNK_SIZE]; memset(message, 0, REST_MAX_CHUNK_SIZE); int length = print_prefixes(&message[0]); /* The query string can be retrieved by rest_get_query() or parsed for its key-value pairs. */ if(REST.get_query_variable(request, "len", &len)) { length = atoi(len); if(length < 0) { length = 0; } if(length > REST_MAX_CHUNK_SIZE) { length = REST_MAX_CHUNK_SIZE; } memcpy(buffer, message, length); } else { memcpy(buffer, message, length); } REST.set_header_content_type(response, REST.type.TEXT_PLAIN); REST.set_header_etag(response, (uint8_t *)&length, 1); REST.set_response_payload(response, buffer, length); }
static int print_arg_help(struct isl_arg *decl, struct isl_prefixes *prefixes, int no) { int len = 0; if (!decl->long_name) { printf(" -%c", decl->short_name); return 4; } if (decl->short_name) { printf(" -%c, --", decl->short_name); len += 8; } else if (decl->flags & ISL_ARG_SINGLE_DASH) { printf(" -"); len += 3; } else { printf(" --"); len += 8; } if (no) { printf("no-"); len += 3; } len += print_prefixes(prefixes); printf("%s", decl->long_name); len += strlen(decl->long_name); while ((++decl)->type == isl_arg_alias) { printf(", --"); len += 4; if (no) { printf("no-"); len += 3; } printf("%s", decl->long_name); len += strlen(decl->long_name); } return len; }