Metropoli BBS
VIEWER: fileren.c MODE: TEXT (ASCII)
#include "pmc.h"

long __pascal filerename (STR dst, STR src)
{
  REGSTRUCT rs;
  STR nextstr = _lowbufptr;
  int r;

  rs.w.FLAGS = rs.d.SSSP = 0;
  rs.b.AH = 0x56;

  if (((DWORD)dst + database) > 0xfffff)
  {
    nextstr = stpcpy (_lowbufptr, dst) + 1;
    dst = _lowbufptr;
  }

  if (((DWORD)src + database) > 0xfffff)
  {
    strcpy (nextstr, src);
    src = nextstr;
  }

  rs.w.ES = (DWORD)dst + database >> 4;
  rs.w.DI = (DWORD)dst + database & 15;
  rs.w.DS = (DWORD)src + database >> 4;
  rs.w.DX = (DWORD)src + database & 15;

  if ((r = xlt_simrmint (0x21, &rs, 0)) < 0)
    return r;

  if (rs.w.FLAGS & fCF)
    return rs.d.EAX | 0xffff0000;
  return 0;
}

[ RETURN TO DIRECTORY ]