/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1989-2011 AT&T Intellectual Property *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* *
***********************************************************************/
#pragma prototyped
/*
* Glenn Fowler
* AT&T Research
*
* expression library
*/
#include "exlib.h"
/*
* copy input token error context into buf of n chars and reset the context
* end of buf returned
*/
char*
{
register char* s;
register char* t;
register char* e;
s = buf;
{
e = buf + n - 5;
if (p->linewrap)
{
t = p->linep + 1;
t++;
{
else t += n;
}
*s++ = *t++;
}
t = p->line;
if (p->linewrap)
p->linewrap = 0;
t++;
if ((n = (p->linep - t) - (e - s)) > 0)
t += n;
while (t < p->linep)
*s++ = *t++;
t = "<<< ";
while (*s = *t++)
s++;
}
*s = 0;
return s;
}