70 lines · 1.0 KB · C
RawDownload
#include <stdlib.h>#include <stdint.h>#include <string.h>#include <stdio.h> #include "util/debug.h"#include "util/parse-sublevel-options.h" static int parse_one_sublevel_option(const char *str,				     struct sublevel_option *opts){	struct sublevel_option *opt = opts;	char *vstr, *s = strdup(str);	int v = 1; 	if (!s) {		pr_err("no memory\n");		return -1;	} 	vstr = strchr(s, '=');	if (vstr)		*vstr++ = 0; 	while (opt->name) {		if (!strcmp(s, opt->name))			break;		opt++;	} 	if (!opt->name) {		pr_err("Unknown option name '%s'\n", s);		free(s);		return -1;	} 	if (vstr)		v = atoi(vstr); 	*opt->value_ptr = v;	free(s);	return 0;} /* parse options like --foo a=<n>,b,c... */int perf_parse_sublevel_options(const char *str, struct sublevel_option *opts){	char *s = strdup(str);	char *p = NULL;	int ret; 	if (!s) {		pr_err("no memory\n");		return -1;	} 	p = strtok(s, ",");	while (p) {		ret = parse_one_sublevel_option(p, opts);		if (ret) {			free(s);			return ret;		} 		p = strtok(NULL, ",");	} 	free(s);	return 0;}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t