home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 573a.lha / AT_copy_v2.22 / Patch_option.c < prev    next >
C/C++ Source or Header  |  1991-06-29  |  2KB  |  76 lines

  1. /* $Revision Header *** Header built automatically - do not edit! ***********
  2.  *
  3.  *      (C) Copyright 1990 by Peter Vorwerk
  4.  *
  5.  *      Name .....: Patch_Option.c
  6.  *      Created ..: Sunday 30-Dec-90 14:49
  7.  *      Revision .: 3
  8.  *
  9.  *      Date            Author          Comment
  10.  *      =========       ========        ====================
  11.  *      29-Apr-91       Peter Vorwerk   Fixed for V2.22
  12.  *      05-Feb-91       Peter Vorwerk   Fixed for V2.21
  13.  *      07-Jan-91       Peter Vorwerk   Fixed for V2.2
  14.  *      30-Dec-90       Peter Vorwerk   Created this file!
  15.  *
  16.  * $Revision Header ********************************************************/
  17.  #define REVISION 3
  18.  
  19. #include <stdio.h>
  20. #include <string.h>
  21. #include <libraries/arpbase.h>
  22.  
  23. #define OFFSET 0x65f
  24.  
  25.  
  26. #define OFFSET2 OFFSET - 0x03
  27. #define OFFSET3 OFFSET - 0x19
  28.  
  29. void main(int argc, char *argv[])
  30. {
  31.     FILE *fp;
  32.     char *s;
  33.     char string[16];
  34.  
  35.     if (argc < 3)
  36.     {
  37.         Printf("USAGE: %s ATCopy option [path]\n",argv[0]);
  38.         exit(10);
  39.     }
  40.     fp = fopen(argv[1],"r+");
  41.     if (fp == NULL)
  42.     {
  43.         Printf("Error: Can't open %s\n",argv[1]);
  44.         exit(10);
  45.     }
  46.     fseek(fp,OFFSET,0);
  47.     fscanf(fp,"%15s",string);
  48.     if (strcmp(string,"Option"))
  49.     {
  50.         Printf("Error: Wrong Version\nAbortet\n");
  51.         fclose(fp);
  52.         exit(10);
  53.     }
  54.     fseek(fp,OFFSET2,0);
  55.     s = argv[2];
  56.     do
  57.     {
  58.         fputc((int) *s++,fp);
  59.     }
  60.     while(*s != '\0');
  61.     fputc((int) *s++,fp);
  62.     if (argc > 3)
  63.     {
  64.         fseek(fp,OFFSET3,0);
  65.         s = argv[3];
  66.         do
  67.         {
  68.             fputc((int) *s++,fp);
  69.         }
  70.         while(*s != '\0');
  71.         fputc((int) *s++,fp);
  72.     }
  73.     fclose(fp);
  74.     exit(0);
  75. }
  76.