?login_element?

Subversion Repositories NedoOS

Rev

Rev 922 | Blame | Compare with Previous | Last modification | View Log | Download

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. //#include <mem.h>
  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;
  81. }
  82.