コード例 #1
0
ファイル: fonct_o.c プロジェクト: ninja00/push_swap
int                     fonct_o(t_env *env)
{
	ARGLEN = ft_arglen(env);
	//ft_putnbr(env->arglen);
	if (FNDFLAGS[9] == 1)
		x_prec(env);
	else
	{
		if (FNDFLAGS[2] == -1 && FNDFLAGS[1] == -1 && NBR != -1) // pas de - et nbr pas de 0
		{
			if (FNDFLAGS[0] == 1)
			NBR = NBR - 1;
			RET = RET + ft_putspace(NBR - env->arglen);
		}
		if (FNDFLAGS[2] != 1 && FNDFLAGS[1] == 1 && NBR != -1)
		RET = RET + ft_putzero2(NBR - env->arglen);
		if (FNDFLAGS[0] == 1 && (unsigned long int)ARG != 0)
		RET = RET + ft_putzero2(1);
		RET = RET + ft_which_putoctal(env);
	//	 ft_putnbr(RET);

		if (FNDFLAGS[2] == 1 && NBR != -1 && NBR > env->arglen) // - et nbr
		{
			if (FNDFLAGS[0] == 1)
			NBR = NBR - 1;
			RET = RET + ft_putspace(NBR - env->arglen);
		}
	}
    //ft_putnbr(RET);
return (1);
}
コード例 #2
0
ファイル: fonct_ss.c プロジェクト: ninja00/ft_printf
int				fonct_ss(t_env *env)
{
	if (ARG != NULL)
		ARGLEN = ft_wstrlen((wchar_t *)ARG);
	if (FNDFLAGS[9] == 1)
		x_prec(env);
	else
	{
		if (ARG == NULL)
		{
			RET += ft_putstr("(null)");
			return (0);
		}
		if (FNDFLAGS[2] == -1 && NBR > ARGLEN)
		{
			if (FNDFLAGS[1] == 1)
				RET = RET + ft_putzero2(NBR - ARGLEN);
			else
				RET = RET + ft_putspace(NBR - ARGLEN);
		}
		RET = RET + ft_put_w_str((wchar_t *)ARG);
		if (FNDFLAGS[2] == 1 && NBR > ARGLEN)
			RET = RET + ft_putspace(NBR - ARGLEN);
	}
	return (0);
}
コード例 #3
0
ファイル: fonct_ss.c プロジェクト: ninja00/ft_printf
static void		x_prec(t_env *env)
{
	if (NBRPREC != -1)
	{
		inter_xprec(env);
		if (FNDFLAGS[9] == 1 && NBRPREC != -1)
			RET = RET + ft_put_wn_str((wchar_t *)ARG, NBRPREC);
		else
			RET = RET + ft_put_w_str((wchar_t *)ARG);
		if (FNDFLAGS[2] == 1 && NBR != -1 && NBRPREC != -1)
		{
			if (NBRPREC > ARGLEN)
				RET = RET + ft_putspace(NBR - ARGLEN);
			else
				RET = RET + ft_putspace(NBR - NBRPREC);
		}
	}
	else
	{
		if (FNDFLAGS[1] == 1)
			RET = RET + ft_putzero2(NBR);
		else
			RET = RET + ft_putspace(NBR);
	}
}
コード例 #4
0
ファイル: ft_printoctal.c プロジェクト: rfriscca/ft_printf
void	ft_printoctal(uintmax_t nbr, t_stock *stock)
{
	int		spacenum;
	int		size;

	spacenum = 0;
	size = ft_nbrsizeoctal(nbr);
	if (stock->size_min > size && stock->size_min <= 2147483647)
		spacenum = stock->size_min - size;
	if ((stock->flags & 16) != 0)
		spacenum -= 1;
	if ((stock->flags & 1) == 0)
	{
		if ((stock->flags & 2) == 0)
			ft_putspace(spacenum);
		else
			ft_putzero(spacenum, stock, 'c');
		ft_printadd(stock, 'o');
		ft_converttooctal(nbr);
	}
	else
	{
		ft_printadd(stock, 'o');
		ft_converttooctal(nbr);
		ft_putspace(spacenum);
	}
	stock->i += spacenum + size;
}
コード例 #5
0
ファイル: ft_printchar.c プロジェクト: rfriscca/ft_printf
void		ft_printchar(char c, t_stock *stock)
{
	int		size;
	int		spacenum;

	size = 1;
	spacenum = 0;
	if (stock->size_min > 2147483647)
		stock->size_min = 0;
	if (stock->size_min > size)
		spacenum = stock->size_min - size;
	if ((stock->flags & 1) == 1)
	{
		ft_putchar(c);
		ft_putspace(spacenum);
	}
	else
	{
		if ((stock->flags & 2) == 0)
			ft_putspace(spacenum);
		else
			ft_putzero(spacenum, stock, 'c');
		ft_putchar(c);
	}
	stock->i += spacenum + 1;
}
コード例 #6
0
void	ft_show_l(t_files *files, t_lenmax max)
{
	ft_putstr(files->modes);
	ft_putspace(max.links, files->links);
	ft_spaceput(max.user, files->user);
	ft_spaceput(max.group - 2, files->group);
	ft_putspace(max.size, files->size);
	ft_putspace(max.month, files->month);
	ft_putspace(max.number, files->number);
	ft_putspace(max.hour, files->hour);
	ft_putstr(" ");
}
コード例 #7
0
ファイル: print_percent.c プロジェクト: ninja00/ft_printf
void		print_percent(t_env *env)
{
	if (FNDFLAGS[2] == -1 && NBR != -1)
	{
		if (FNDFLAGS[1] == 1)
			RET = RET + ft_putzero2(NBR - 1);
		else
			RET = RET + ft_putspace(NBR - 1);
	}
	RET = RET + ft_putchar('%');
	if (FNDFLAGS[2] == 1 && NBR != -1)
		RET = RET + ft_putspace(NBR - 1);
}
コード例 #8
0
ファイル: fonct_defaut.c プロジェクト: ninja00/ft_printf
static void x_prec(t_env *env)
{
	if (NBRPREC != -1)
	{
	if (FNDFLAGS[2] != 1 && NBR > ARGLEN &&  NBRPREC < ARGLEN )
		RET = RET + ft_putspace(NBR - ARGLEN);
	else if (FNDFLAGS[2] != 1 && NBR > ARGLEN &&  NBRPREC < NBR )
    	RET = RET + ft_putspace(NBR - NBRPREC);
	if (NBRPREC != -1 && NBRPREC > ARGLEN )//.
		RET = RET + ft_putzero2(NBRPREC - ARGLEN);
    RET = RET + ft_which_putnbr(env);
	if (FNDFLAGS[2] == 1 && NBRPREC != -1 && NBR != -1)//.
	    RET = RET + ft_putspace(NBR - NBRPREC);
}
}
コード例 #9
0
ファイル: fonct_d.c プロジェクト: ninja00/ft_printf
static void		before_nbr(t_env *env)
{
	if (FNDFLAGS[1] == -1 && NBR != -1 && NBR > ft_nbrlen((int)ARG))
	{
		if (FNDFLAGS[3] == 1 && (int)ARG > 0)
			NBR = NBR - 1;
		NBR = NBR - ft_nbrlen((int)ARG);
		RET = RET + ft_putspace(NBR);
	}
	else if (FNDFLAGS[4] == 1 && FNDFLAGS[3] == -1 && ((int)ARG >= 0))
	{
		RET = RET + ft_putchar(' ');
		NBR = NBR - 1;
	}
	if ((FNDFLAGS[3] == 1) && ((int)ARG >= 0))
	{
		if (env->putneg != 1)
		{
			RET = RET + ft_putchar('+');
			NBR = NBR - 1;
		}
	}
	if (NBR != -1 && NBR > ft_nbrlen((int)ARG))
	{
		if (FNDFLAGS[1] == 1 && FNDFLAGS[2] != 1)
			ft_putzero(env);
	}
}
コード例 #10
0
ファイル: print_about.c プロジェクト: ncoden/ft_ls
void		print_groups(t_stat *stat, char *maxs)
{
	struct passwd	*usr;
	struct group	*grp;

	usr = getpwuid(stat->st_uid);
	if (usr != NULL)
		ft_putstrleft(usr->pw_name, (maxs) ? maxs[1] : 0);
	else
		ft_putnbrleft(stat->st_uid, (maxs) ? maxs[1] : 0);
	ft_putspace(2);
	grp = getgrgid(stat->st_gid);
	if (grp != NULL)
		ft_putstrleft(grp->gr_name, (maxs) ? maxs[2] : 0);
	ft_putspace(2);
}
コード例 #11
0
ファイル: fonct_c.c プロジェクト: ninja00/ft_printf
static void		ft_check_env(t_env *env)
{
	if (NBR != -1)
	{
		if (FNDFLAGS[1] == 1 && FNDFLAGS[2] == -1)
			ft_putzero3(env);
		else
			RET = RET + ft_putspace(env->nbr - 1);
	}
}
コード例 #12
0
ファイル: fonct_ss.c プロジェクト: ninja00/ft_printf
static void		inter_xprec(t_env *env)
{
	NBRPREC = ft_wnstrlen((wchar_t *)ARG, NBRPREC);
	if (FNDFLAGS[2] == -1 && NBR != -1)
	{
		if (NBRPREC > ARGLEN && NBR > ARGLEN)
		{
			if (FNDFLAGS[1] == 1)
				RET = RET + ft_putzero2(NBR - ARGLEN);
			else
				RET = RET + ft_putspace(NBR - ARGLEN);
		}
		else if (NBRPREC != -1 && NBR > NBRPREC)
		{
			if (FNDFLAGS[1] == 1)
				RET = RET + ft_putzero2(NBR - NBRPREC);
			else
				RET = RET + ft_putspace(NBR - NBRPREC);
		}
	}
}
コード例 #13
0
ファイル: fonct_oo.c プロジェクト: ninja00/push_swap
int                     fonct_O(t_env *env)
{
	env->arglen = ft_nbrlenO(ft_octalnbr((unsigned long int)ARG));
/*
	ft_putstr(">>ret02>>");
	ft_putnbr(ARGLEN);
	ft_putstr("<<");
*/
	if (FNDFLAGS[9] == 1)
		x_prec(env);
	else
	{

		if (FNDFLAGS[2] == -1 && FNDFLAGS[1] == -1 && NBR != -1) // pas de - et nbr pas de 0
		{
			if (FNDFLAGS[0] == 1)
			NBR = NBR - 1;
			RET = RET + ft_putspace(NBR - env->arglen);
		}

		if (FNDFLAGS[2] != 1 && FNDFLAGS[1] == 1 && NBR != -1)
		RET = RET + ft_putzero2(NBR - env->arglen);
		if (FNDFLAGS[0] == 1)
		RET = RET + ft_putzero2(1);
		if (FNDFLAGS[7] == 1)
			RET = RET + ft_puttest((unsigned long int)ARG);//RET = RET + ft_puttest((long int)ARG);
		else
			RET = RET + ft_puttest((unsigned long int)ARG);
	//	 ft_putnbr(RET);

		if (FNDFLAGS[2] == 1 && NBR != -1 && NBR > env->arglen) // - et nbr
		{
			if (FNDFLAGS[0] == 1)
			NBR = NBR - 1;
			RET = RET + ft_putspace(NBR - env->arglen);
		}
	}
    //ft_putnbr(RET);
return (1);
}
コード例 #14
0
ファイル: fonct_defaut.c プロジェクト: ninja00/ft_printf
int                     fonct_u(t_env *env)
{
	//int *tab[5];

	env->arglen = ft_arglen(env);
 //ft_putnbr(env->arglen);
	if (FNDFLAGS[9] == 1)
		x_prec(env);
	else
	{
    if (FNDFLAGS[2] == -1 && FNDFLAGS[1] == -1 && NBR > ARGLEN) // pas de - et nbr pas de 0
		RET = RET + ft_putspace(NBR - env->arglen);
    if (FNDFLAGS[2] != 1 && FNDFLAGS[1] == 1 && NBR != -1)
	    RET = RET + ft_putzero2(NBR - env->arglen);
    RET = RET + ft_which_putnbr(env);
   // ft_putnbr(RET);

	if (FNDFLAGS[2] == 1 && NBR != -1 && NBR > env->arglen && FNDFLAGS[9] == -1) // - et nbr
		RET = RET + ft_putspace(NBR - env->arglen);
	}
    //ft_putnbr(RET);
return (1);
}
コード例 #15
0
ファイル: fonct_d.c プロジェクト: ninja00/ft_printf
static void		after_nbr(t_env *env)
{
	if ((FNDFLAGS[4] == 1 && NBR == -1))
		if ((int)ARG > 0)
			RET = RET + ft_putchar(' ');
	if (NBR != -1 && NBR > ft_nbrlen((int)ARG))
	{
		if (FNDFLAGS[2] == -1 && (FNDFLAGS[3] == 1) && ((int)ARG > 0))
			NBR = NBR - 1;
		if (FNDFLAGS[1] == 1 && FNDFLAGS[2] != 1)
			ft_putzero(env);
		else
			RET = RET + ft_putspace(NBR - ARGLEN);
	}
}
コード例 #16
0
ファイル: fonct_d.c プロジェクト: ninja00/ft_printf
static void		ft_flag_prec(t_env *env)
{
	FNDFLAGS[1] = -1;
	if ((int)ARG == 0 && NBR == -1 && NBRPREC == -1)
		return ;
	before_nbrd_prec(env);
	if ((int)ARG == 0 && NBRPREC == -1)
	{
	}
	else if (env->putneg == 1)
		ft_which_putnbrnegd(env);
	else
		ft_which_putnbrd(env);
	if (NBR != -1 && FNDFLAGS[2] == 1)
	{
		if (FNDFLAGS[3] == 1)
			NBR = NBR - 1;
		RET = RET + ft_putspace(NBR - NBRPREC);
	}
}
コード例 #17
0
ファイル: fonct_o.c プロジェクト: ninja00/push_swap
static void x_prec(t_env *env)
{
	if (NBRPREC != -1 )
	{

		if (FNDFLAGS[2] == -1 && NBR > ARGLEN &&  NBRPREC < ARGLEN )
			RET = RET + ft_putspace(NBR - ARGLEN);
		else if (FNDFLAGS[2] == -1 && NBR > ARGLEN &&  NBRPREC < NBR )
	    	RET = RET + ft_putspace(NBR - NBRPREC);
		if (NBRPREC > env->arglen )//.
			RET = RET + ft_putzero2(NBRPREC - env->arglen);
		//ft_putstr(">>");
		RET = RET + ft_which_putoctal(env);
		//ft_putstr("<<");
		if (FNDFLAGS[2] == 1 && FNDFLAGS[9] == 1 && NBR > NBRPREC)// -
			RET = RET + ft_putspace(NBR - NBRPREC);
	}
	else if(NBR != -1)
	{
		if (FNDFLAGS[0] == 1)
		{
			if ((unsigned long int)ARG != 0)
			{
				RET = RET + ft_putspace(NBR - 1 - ARGLEN);
				RET = RET + ft_putchar('0');
			}
			else
				RET = RET + ft_putspace(NBR - 1);
			//ft_putstr(">>");
			RET = RET + ft_which_putoctal(env);
			//ft_putstr("<<");
		}
		else
			RET = RET + ft_putspace(NBR);
	}
	else if (FNDFLAGS[0] == 1)
	{
		if ((unsigned long int)ARG != 0)
			RET = RET + ft_putchar('0');
		RET = RET + ft_which_putoctal(env);
	}
}