Windows2000/private/windbg64/windbg/environ.c
2020-09-30 17:12:32 +02:00

104 lines
1.7 KiB
C

/*++
Copyright (c) 1992 Microsoft Corporation
Module Name:
environ.c
Abstract:
This file contains the code to deal with Options.Environment dialog
box.
Author:
Jim Schaad (jimsch)
Environment:
Win32 - User
--*/
#include "precomp.h"
#pragma hdrstop
int NEAR PASCAL ChangeTabs(int doc, int newTabSize);
/*** ChangeTabs
** Synopsis:
** int = ChangeTabs(doc, newTabSize)
** Entry:
** doc - Document to change tabs in
** newTabSize - New size to set the tabs to
** Returns:
** 0 if tab width is ok else the line number for which the
** line size is too great
** Description:
*/
int NEAR PASCAL ChangeTabs(int doc, int newTabSize)
{
LPLINEREC pl;
LPBLOCKDEF pb;
long y;
register int i;
register int j;
int len;
y = 0;
// Check expanded len of all tabs
if (!FirstLine(doc, &pl, &y, &pb)) {
return 0;
}
while (TRUE) {
len = pl->Length - LHD;
if (len > 0) {
i = 0;
j = 0;
// Compute len of line expanded with tabs
while (i < len) {
if (pl->Text[i] == TAB) {
j += newTabSize - (j % newTabSize);
} else {
j++;
}
i++;
}
if (j > MAX_USER_LINE) {
CloseLine(doc, &pl, y, &pb);
return y;
}
}
if (y >= Docs[doc].NbLines) {
break;
} else {
if (!NextLine(doc, &pl, &y, &pb)) {
return 0;
}
}
}
CloseLine(doc, &pl, y, &pb);
return 0;
}