1 /* { dg-do compile } */
2 
3 typedef struct _IO_FILE FILE;
4 unsigned long int strtoul(const char *, char **, int);
5 char *fgets(char *, int, FILE *);
6 struct ihexrec {
7     unsigned char reclen;
8     unsigned char data[256];
9 };
srec_readrec(struct ihexrec * srec,char * rec)10 static void srec_readrec(struct ihexrec * srec, char * rec)
11 {
12   int i, j;
13   char buf[8];
14   int offset = 0, len;
15   char * e;
16   for (i=0; j<srec->reclen; j++)
17     {
18       if (offset+2 > len)
19         return;
20       for (i=0; i<2; i++)
21         buf[i] = rec[offset++];
22       srec->data[j] = strtoul(buf, &e, 16);
23     }
24   for (i=0; i<2; i++)
25     buf[i] = rec[offset++];
26 }
srec2b(FILE * inf)27 void srec2b(FILE *inf)
28 {
29   char buffer[256];
30   struct ihexrec srec;
31   while (fgets(buffer,256,inf)!=(void *)0)
32     srec_readrec(&srec, buffer);
33 }
34