#include "defines.h"

int spcut2(unchar *des,unchar *src)
/* CRで区切られた連続の行末のSPC/TABを削除する */
{
int i,p;
unchar c,cc;
	do {
		/* (1)CR/EOSまでコピーする */
		i=0;
		while (cc=*src++,cc!=0 && cc!='\n') des[i++]=cc;
		des[i]=0; /* EOSにする */
		
		/* (2)desに対して処理する */
		p=-1;
		i=0;
		while ((c=des[i])!=0) {
			if (c==SPC||c==TAB) {
				if (p<0) p=i;
			} else p=-1;
			i++;
		}
		/* '\n'/EOSを最後のSPC/TAB群の始まりに置く */
		if (p<0) p=i;
		des[p]=cc;
		
		/* 書き込みポイントを移動して次に備える */
		des=&des[++p];
	} while (cc=='\n');
	return(p);
}

#if 0
unchar line[]="TEST STRINGS A        \nLINE2\nLINE3    s \n";
unchar line2[80];
main()
{
	printf("\x1b[1m%s<<\n",line);
	spcut2(line2,line);
	printf("%s<<\n\x1b[m",line2);
}
#endif
