FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

do not clobber a datablock if its name is encountered unexpectedly · gnuplot/gnuplot@0244fe5 · GitHub

Repository navigation

Commit 0244fe5

Browse files
Ethan A Merritt
committed
do not clobber a datablock if its name is encountered unexpectedly
1 parent d4a8b96 commit 0244fe5

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

‎src/datablock.c‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,9 @@ new_block( enum DATA_TYPES type )
134134
if (!isletter(c_token+1))
135135
int_error(c_token, "illegal block name");
136136

137+
if (!equals(num_tokens-2, "<<") || !isletter(num_tokens-1))
138+
int_error(c_token, "block definition line must end with << EODmarker");
139+
137140
/* Create or recycle a datablock with the requested name */
138141
name = parse_datablock_name();
139142
datablock = add_udv_by_name(name);
@@ -157,16 +160,15 @@ new_block( enum DATA_TYPES type )
157160
int_error(c_token, "expecting ')'");
158161
c_token++;
159162
}
160-
} else {
161-
/* Must be a datablock */
163+
} else { /* Must be a datablock */
162164
datablock->udv_value.type = DATABLOCK;
163165
datablock->udv_value.v.data_array = NULL;
164166
}
165167

166-
if (!equals(c_token, "<<") || !isletter(c_token+1))
167-
int_error(c_token, "block definition line must end with << EODmarker");
168+
if (c_token != num_tokens-2)
169+
int_error(c_token, "garbage preceding << EODmarker");
168170
c_token++;
169-
eod = (char *) gp_alloc(token[c_token].length +2, "datablock");
171+
eod = (char *) gp_alloc(token[c_token].length + 2, "datablock");
170172
copy_str(&eod[0], c_token, token[c_token].length + 2);
171173
c_token++;
172174

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL