1/* { dg-require-effective-target alloca } */
2typedef unsigned long grub_uint64_t;
3typedef grub_uint64_t grub_size_t;
4grub_cmdline_get (unsigned max_len, int echo_char)
5{
6  unsigned xpos, ypos, ystart;
7  grub_size_t lpos, llen;
8  char buf[max_len];
9  void cl_print (int pos, int c)
10  {
11      char *p;
12      for (p = buf + pos; *p; p++)
13      {
14        if (xpos++ > 78)
15          grub_putchar ('\n');
16        grub_putchar (*p);
17      }
18 }
19 void cl_delete (unsigned len)
20 {
21   cl_set_pos ();
22   cl_print (lpos, ' ');
23   grub_memmove ();
24   cl_print (lpos, echo_char);
25   cl_set_pos ();
26 }
27 cl_delete (llen);
28 grub_size_t n = lpos;
29 cl_delete (n);
30}
31