Lines Matching refs:argn

41 /* Parse a test expression starting from *argn. */
43 test_parse (char **args, int *argn, int argc)
151 while (*argn < argc)
154 if (*argn + 2 < argc)
157 if (grub_strcmp (args[*argn + 1], "=") == 0
158 || grub_strcmp (args[*argn + 1], "==") == 0)
160 update_val (grub_strcmp (args[*argn], args[*argn + 2]) == 0);
161 (*argn) += 3;
165 if (grub_strcmp (args[*argn + 1], "!=") == 0)
167 update_val (grub_strcmp (args[*argn], args[*argn + 2]) != 0);
168 (*argn) += 3;
173 if (grub_strcmp (args[*argn + 1], "<") == 0)
175 update_val (grub_strcmp (args[*argn], args[*argn + 2]) < 0);
176 (*argn) += 3;
180 if (grub_strcmp (args[*argn + 1], "<=") == 0)
182 update_val (grub_strcmp (args[*argn], args[*argn + 2]) <= 0);
183 (*argn) += 3;
187 if (grub_strcmp (args[*argn + 1], ">") == 0)
189 update_val (grub_strcmp (args[*argn], args[*argn + 2]) > 0);
190 (*argn) += 3;
194 if (grub_strcmp (args[*argn + 1], ">=") == 0)
196 update_val (grub_strcmp (args[*argn], args[*argn + 2]) >= 0);
197 (*argn) += 3;
202 if (grub_strcmp (args[*argn + 1], "-eq") == 0)
204 update_val (grub_strtosl (args[*argn], 0, 0)
205 == grub_strtosl (args[*argn + 2], 0, 0));
206 (*argn) += 3;
210 if (grub_strcmp (args[*argn + 1], "-ge") == 0)
212 update_val (grub_strtosl (args[*argn], 0, 0)
213 >= grub_strtosl (args[*argn + 2], 0, 0));
214 (*argn) += 3;
218 if (grub_strcmp (args[*argn + 1], "-gt") == 0)
220 update_val (grub_strtosl (args[*argn], 0, 0)
221 > grub_strtosl (args[*argn + 2], 0, 0));
222 (*argn) += 3;
226 if (grub_strcmp (args[*argn + 1], "-le") == 0)
228 update_val (grub_strtosl (args[*argn], 0, 0)
229 <= grub_strtosl (args[*argn + 2], 0, 0));
230 (*argn) += 3;
234 if (grub_strcmp (args[*argn + 1], "-lt") == 0)
236 update_val (grub_strtosl (args[*argn], 0, 0)
237 < grub_strtosl (args[*argn + 2], 0, 0));
238 (*argn) += 3;
242 if (grub_strcmp (args[*argn + 1], "-ne") == 0)
244 update_val (grub_strtosl (args[*argn], 0, 0)
245 != grub_strtosl (args[*argn + 2], 0, 0));
246 (*argn) += 3;
252 if (grub_strcmp (args[*argn + 1], "-pgt") == 0
253 || grub_strcmp (args[*argn + 1], "-plt") == 0)
257 for (i = 0; args[*argn][i] == args[*argn + 2][i]
258 && args[*argn][i]; i++);
262 while (grub_isdigit (args[*argn][i]) && i > 0)
266 if (grub_strcmp (args[*argn + 1], "-pgt") == 0)
267 update_val (grub_strtoul (args[*argn] + i, 0, 0)
268 > grub_strtoul (args[*argn + 2] + i, 0, 0));
270 update_val (grub_strtoul (args[*argn] + i, 0, 0)
271 < grub_strtoul (args[*argn + 2] + i, 0, 0));
272 (*argn) += 3;
278 if (grub_memcmp (args[*argn + 1], "-nt", 3) == 0
279 || grub_memcmp (args[*argn + 1], "-ot", 3) == 0)
286 get_fileinfo (args[*argn]);
289 get_fileinfo (args[*argn + 2]);
291 if (args[*argn + 1][3])
292 bias = grub_strtosl (args[*argn + 1] + 3, 0, 0);
294 if (grub_memcmp (args[*argn + 1], "-nt", 3) == 0)
302 (*argn) += 3;
308 if (*argn + 1 < argc)
311 if (grub_strcmp (args[*argn], "-d") == 0)
313 get_fileinfo (args[*argn + 1]);
315 (*argn) += 2;
319 if (grub_strcmp (args[*argn], "-e") == 0)
321 get_fileinfo (args[*argn + 1]);
323 (*argn) += 2;
327 if (grub_strcmp (args[*argn], "-f") == 0)
329 get_fileinfo (args[*argn + 1]);
332 (*argn) += 2;
336 if (grub_strcmp (args[*argn], "-s") == 0)
340 file = grub_file_open (args[*argn + 1]);
345 (*argn) += 2;
350 if (grub_strcmp (args[*argn], "-n") == 0)
352 update_val (args[*argn + 1][0]);
354 (*argn) += 2;
357 if (grub_strcmp (args[*argn], "-z") == 0)
359 update_val (! args[*argn + 1][0]);
360 (*argn) += 2;
368 if (grub_strcmp (args[*argn], ")") == 0)
370 (*argn)++;
374 if (grub_strcmp (args[*argn], "(") == 0)
376 (*argn)++;
377 update_val (test_parse (args, argn, argc));
381 if (grub_strcmp (args[*argn], "!") == 0)
384 (*argn)++;
387 if (grub_strcmp (args[*argn], "-a") == 0)
391 (*argn)++;
394 if (grub_strcmp (args[*argn], "-o") == 0)
398 (*argn)++;
403 update_val (args[*argn][0]);
404 (*argn)++;
413 int argn = 0;
418 return test_parse (args, &argn, argc) ? GRUB_ERR_NONE