Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a78f70e8 authored by Michal Marek's avatar Michal Marek
Browse files

genksyms: Handle string literals with spaces in reference files



The reference files use spaces to separate tokens, however, we must
preserve spaces inside string literals. Currently the only case in the
tree is struct edac_raw_error_desc in <linux/edac.h>:

$ KBUILD_SYMTYPES=1 make -s drivers/edac/amd64_edac.symtypes
$ mv drivers/edac/amd64_edac.{symtypes,symref}
$ KBUILD_SYMTYPES=1 make -s drivers/edac/amd64_edac.symtypes
drivers/edac/amd64_edac.c:527: warning: amd64_get_dram_hole_info: modversion changed because of changes in struct edac_raw_error_desc

Signed-off-by: default avatarMichal Marek <mmarek@suse.com>
parent 4c835b57
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -423,13 +423,15 @@ static struct string_list *read_node(FILE *f)
	struct string_list node = {
		.string = buffer,
		.tag = SYM_NORMAL };
	int c;
	int c, in_string = 0;

	while ((c = fgetc(f)) != EOF) {
		if (c == ' ') {
		if (!in_string && c == ' ') {
			if (node.string == buffer)
				continue;
			break;
		} else if (c == '"') {
			in_string = !in_string;
		} else if (c == '\n') {
			if (node.string == buffer)
				return NULL;