/***************************************************************************** ExeL() This function executes an L command. nL Advance n lines *****************************************************************************/ #include "zport.h" /* define portability identifiers */ #include "tecoc.h" /* define general identifiers */ #include "defext.h" /* define external global variables */ DEFAULT ExeL() /* execute L command */ { LONG HowFar; DBGFEN(1,"ExeL",NULL); if (EStTop == EStBot) { /* if no numeric argument */ NArgmt = 1; /* default is 1 */ } else { UMinus(); /* if it's -L, make it -1L */ if (GetNmA() == FAILURE) { /* get numeric argument */ DBGFEX(1,DbgFNm,"FAILURE"); return FAILURE; } } HowFar = Ln2Chr(NArgmt); if (HowFar > 0) { MEMMOVE(GapBeg, GapEnd+1, (SIZE_T)HowFar); GapBeg += HowFar; GapEnd += HowFar; } else if (HowFar < 0) { GapBeg += HowFar; GapEnd += HowFar; MEMMOVE(GapEnd+1, GapBeg, (SIZE_T)-HowFar); } CmdMod = '\0'; DBGFEX(1,DbgFNm,"SUCCESS"); return SUCCESS; }