clean
[linux-2.4.21-pre4.git] / ver / mkver.c
1 #include <stdio.h>
2 #include <string.h>
3
4 //A.BB.CDD.XXXXX
5
6 int main(int argc, char** argv)
7 {
8         FILE *fp, *out, *end;
9         char str[80];
10         char i=0;
11         unsigned char ver_array[256]={0};
12         char index=0;
13         char flag = 0;
14         unsigned char *ptr;
15         unsigned long end_code=0x48945489;
16
17         if(!(fp = fopen(argv[1], "r")))
18         {
19                 fprintf(stderr,"Can not find version configuration file!\n");
20                 fprintf(stderr,"Usage: mkver <ver.conf>!\n");
21                 exit(-1);
22         }
23
24         ptr = ver_array+12;
25         while(fgets(str, 80, fp))
26         {
27                 //This is the comment
28                 if ((str[0]=='#')||(str[0]=='\n'))
29                 {       
30                         memset(str, 0, 80);
31                         continue;
32                 }       
33                 //This is the string info
34                 else if(i>5)
35                 {
36                 //      printf("str %s: len = %d\n", str, strlen(str));
37                         str[strlen(str)-1]=0;
38                         memcpy(ptr, str, 10);
39                         ptr += 10; 
40                         i++;
41                         memset(str, 0, 80); 
42                         continue;
43                 }
44                 //This is the version info
45                 else
46                         ver_array[index++] = (unsigned char)atoi(str);
47                 //printf("\n%d\n",ver_array[index-1]);
48                 memset(str, 0, 80); 
49                 i++;
50                 flag = 1;
51         }
52         ver_array[index++] = 0x98;
53         ver_array[index] = 0x76;
54
55
56         if (flag != 1) 
57         {
58                 printf("Version generation failed!.\n");
59                 exit(-1);
60         }
61         
62         //the header file
63         out = fopen("version.bin","w");
64         fwrite(&ver_array, sizeof(ver_array), 1, out);
65         fclose(out);
66
67         //the end signature file
68         end = fopen("end.bin","w");
69         fwrite(&end_code, sizeof(end_code), 1, end);
70         fclose(end);
71
72         
73         return(0);
74 }