[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]