#include <string.h>

#include "calc.h"
#include "str_sub.h"
#include "graphic.h"

char *set_num( int n, int wd )
{
	static	char	str[20];
	int		i, d, fg, min, spc ;

	if( ( min = ( n  < 0 ) ) != 0 ) n = -n ;
	if( ( spc = ( wd < 0 ) ) != 0 ) wd = -wd ;

	for( i = n, fg = d = 1 ; 0 < ( i -= ( i / d % 10 )* d ) ; d *= 10, ++fg );
	if( wd < fg + min ) wd = fg + min ;
	memset( str, spc ? '0' : ' ', wd );
	if( min ) str[ 0 ] = '-' ;

	for( i = d = 1 ; i <= fg ; ++i, d *= 10 ){
		str[ wd - i ] = '0'+ n / d % 10 ;
	}
	str[ wd ] = '\0' ;

	return str ;
}

char *get_textpara( char **sp )
{
	static char	 str[96], ctrl[5] = "\t ,\n\0" ;
		   char	 *p, *pp ;
		   LCARD n ;

	p = str, pp = *sp ;
	while( ( n = _find_char( ctrl, 5, *pp ) ) <= 1 ) *pp++ ;
	if( *pp == '-' ){
		*p++ = *pp++ ;
		while( ( n = _find_char( ctrl, 5, *pp ) ) <= 1 ) *pp++ ;
	}
	if( n == 3 || n == 4 ) *sp = NULL ;
	if( 5 <= n ){
		while( ( n = _find_char( ctrl, 5, *pp ) ) <= 1 || 5 <= n ){
			*p++ = *pp++ ;
		}
		*sp = ++pp ;
	}
	*p = '\0' ;

	return str ;
}
