summaryrefslogtreecommitdiff
path: root/tutorials/sndkit/sblive/mkheader.c
blob: 4081a56d70ff49dcb3929854c5f3a744dcad9dbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int
main (int argc, char *argv[])
{
  unsigned char buffer[1024];
  int i, l, n = 0;

  if (argc != 2)
    {
      fprintf (stderr, "Bad usage\n");
      exit (-1);
    }

  printf ("static unsigned char %s[] =\n", argv[1]);
  printf ("{\n");

  while ((l = read (0, buffer, sizeof (buffer))) > 0)
    {
      for (i = 0; i < l; i++)
	{
	  if (n > 0)
	    printf (", ");

	  if (n && (n % 16) == 0)
	    printf ("\n");
	  printf ("0x%02x", buffer[i]);
	  n++;
	}
    }

  printf ("\n};\n");

  exit (0);
}