Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

88 lines
2.1 KiB

/************************************************************/
/* Windows Write, Copyright 1985-1992 Microsoft Corporation */
/************************************************************/
#define NOCLIPBOARD
#define NOGDICAPMASKS
#define NOCTLMGR
#define NOVIRTUALKEYCODES
#define NOWINMESSAGES
#define NOWINSTYLES
#define NOSYSMETRICS
#define NOMENUS
#define NOKEYSTATE
#define NOGDI
#define NOHDC
#define NORASTEROPS
#define NOSYSCOMMANDS
#define NOSHOWWINDOW
#define NOCOLOR
#define NOATOM
#define NOBITMAP
#define NOICON
#define NOBRUSH
#define NOCREATESTRUCT
#define NOMB
#define NOFONT
#define NOMSG
#define NOOPENFILE
#define NOPEN
#define NOPOINT
#define NOREGION
#define NOSCROLL
#define NOSOUND
#define NOWH
#define NOWINOFFSETS
#define NOWNDCLASS
#define NOCOMM
#include <windows.h>
#include "mw.h"
#include "cmddefs.h"
#include "docdefs.h"
#include "editdefs.h"
#include "filedefs.h"
#include "str.h"
#include "propdefs.h"
#include "fkpdefs.h"
#include "printdef.h" /* printdefs.h */
#include "debug.h"
extern struct FCB (**hpfnfcb)[];
int **HAllocate();
RemoveDelPgd(doc, cpFirst, cpLim, hpgtb)
int doc;
typeCP cpFirst, cpLim;
struct PGTB **hpgtb;
{
struct PGTB *ppgtb;
struct PGD *ppgd, *ppgdT;
int ipgd, cpgd, cpgdDel;
{
ppgtb = *hpgtb;
ppgd = &ppgtb->rgpgd[0];
ppgd += (ipgd =
IcpSearch(cpFirst + 1, ppgd, cwPGD * sizeof(int),
bcpPGD, cpgd = ppgtb->cpgd));
if (ppgd->cpMin > cpFirst) /* Ensure not past last page */
{ /* Find all page breaks in deleted area. */
for (ppgdT = ppgd, cpgdDel = 0;
ipgd + cpgdDel < cpgd && ppgdT->cpMin <= cpLim;
ppgdT++, cpgdDel++)
continue;
if (cpgdDel != 0)
{ /* Close up pgtb. */
blt(ppgdT, ppgd, cwPGD * ((cpgd -= cpgdDel) - ipgd));
(*hpgtb)->cpgd = cpgd;
}
}
}
} /* end of R e m o v e D e l P g d */