[Back to FILES SWAG index] [Back to Main SWAG index] [Original]

    {
    IAN LIN

    Add junk to file to increase size. v.2.2. }

    {$I-,G+,R-,D-,L-}

    Uses
      dos;

    Type
      buf = array [1..$ffff] of byte;

    Var
      c, k,
      size : longint;
      s, v : word;
      f    : file;
      b    : ^buf;

    Begin
      writeln('JUNK v2.2');
      if paramcount = 0 then
      begin
       writeln('Help screen. Syntax:');
       writeln(paramstr(0),' <infile> <bytes>');
       writeln('<infile>: source file -- <bytes>: bytes to add to source file');
       writeln('Error level codes');
       writeln('0: Normal execution or show help screen (no parameters)');
       writeln('1: Not enough parameters. Must have specify a file and size.');
       writeln('2: Invalid size specified for <bytes>');
       halt(0);
      End;

      if paramcount = 1 then
      begin
        writeln('Not enough parameters.');
        halt(1);
      End;

      assign(f, paramstr(1));
      val(paramstr(2), size, v);
      if (v <> 0) or (size < 0) then
      begin
        writeln('Invalid number in <bytes>. Run ', paramstr(0), ' alone for help.');
        halt(2);
      end;

      reset(f, 1);
      if ioresult = 0 then
        seek(f, filesize(f))
      else
        rewrite(f, 1);
      k := size div sizeof(buf);
      s := size mod sizeof(buf);
      randomize;
      new(b);
      for c := 1 to sizeof(buf) do
        b^[c] := random(128) + 128;

      while k > 0 do
      begin
        blockwrite(f, b^, sizeof(buf));
        dec(k);
      end;

      if s > 0 then
        blockwrite(f, b^, s);
      writeln('Wrote ', size, ' bytes to ', fexpand(paramstr(1)));
      writeln('Total size of ', fexpand(paramstr(1)), ' is ', filesize(f));
      close(f);
      dispose(b);
    end.

[Back to FILES SWAG index] [Back to Main SWAG index] [Original]