Subversion Repositories NedoOS

Rev

Rev 922 | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
8 dimkam 1
#include <stdio.h>
930 alone 2
#include <stdlib.h>
3
//#include <mem.h>
8 dimkam 4
#include <string.h>
5
 
6
#define BYTE unsigned char
7
#define MAXDEFB 8
8
 
9
BYTE filebuf[65536];
10
 
11
void padfile(char * finname, char * foutname, int skip, int limit)
12
{
13
FILE* fin;
14
FILE* fout;
15
int i;
16
int size;
17
 
18
  fin = fopen(finname, "rb");
19
  if (fin) {
20
    fread(filebuf, 1, skip, fin);
21
    fout = fopen(foutname, "wb");
22
    if (fout) {
23
      while (1) {
24
        size = fread(filebuf, 1, MAXDEFB, fin);
25
        if (size == 0) {
26
          size = MAXDEFB;
27
          i = 0;
28
          while (1) {
29
            filebuf[i] = 0x00;
30
            i++;
31
            if (i == size) break;
32
          };
33
        };
34
        if (limit == 0) break;
35
        if (limit < size) size = limit;
36
        limit = limit - size;
37
        i = 0;
38
        while (1) {
39
          fputc(filebuf[i], fout);
40
          i++;
41
          if (i == size) break;
42
        };
43
      };
44
      fclose(fout);
45
    };
46
    fclose(fin);
47
  };
48
}
49
 
50
int main(int argc,char* argv[])
51
{
52
//  int i;
53
  char *finname;
54
  char *foutname;
55
  char *strskip;
56
  char *strlimit;
57
  int skip;
58
  int limit;
59
  finname = "tokarm.bin";
60
  foutname = "out.bin";
61
  strskip = "0";
62
  strlimit = "65536";
63
 
64
  if (argc<5) {
65
    printf(
66
      "NedoPAD\n"
67
      "\tnedopad.exe file.in file.out <skip> <size>\n"
68
    );
69
  }else {
70
    finname = argv[1];
71
    foutname = argv[2];
72
    strskip = argv[3];
73
    strlimit = argv[4];
74
  };
75
 
76
  skip = atoi(strskip);
77
  limit = atoi(strlimit);
78
  padfile(finname, foutname, skip, limit);
79
 
80
  return 0;
469 baho 81
}