Exemple #1
0
char					*ft_itoa(int n)
{
    t_itoa			var;

    var.div = 1;
    var.cnt = 1;
    var.neg = 0;
    var.i = 0;
    if (n == 0 && ft_zero(&var))
        return (var.nb);
    if (n == -2147483648 && ft_limit_neg(&var))
        return (var.nb);
    if (n == 2147483647 && ft_limit_pos(&var))
        return (var.nb);
    if (n < 0)
    {
        n *= -1;
        var.neg = 1;
        var.cnt++;
    }
    while (var.div <= n && var.cnt++)
        var.div *= 10;
    var.div /= 10;
    ft_alloc_fill(&var, n);
    return (var.nb);
}
Exemple #2
0
int			ft_strcmp(const char *s1, const char *s2)
{
	const uint64_t	himagic = ((0x80808080L << 16) << 16) | 0x80808080L;
	const uint64_t	lomagic = ((0x01010101L << 16) << 16) | 0x01010101L;
	const uint64_t	*i1;
	const uint64_t	*i2;

	i1 = (const uint64_t *)s1;
	i2 = (const uint64_t *)s2;
	while (42)
	{
		if (*i1 != *i2)
			return (ft_cmp((const char *)(i1), (const char *)(i2)));
		if (((*i1++ - lomagic) & himagic) && ft_zero((const char *)(i1 - 1)))
			return (ft_cmp((const char *)(i1 - 1), (const char *)i2));
		else if (((*i2++ - lomagic) & himagic)
					&& ft_zero((const char *)(i2 - 1)))
			return (ft_cmp((const char *)(i1 - 1), (const char *)(i2 - 1)));
	}
}
Exemple #3
0
int			ft_print_c(t_env *env)
{
	int i;

	i = 0;
	if (env->size && !env->zero && !env->minus && env->quest)
		i = ft_space(env->size, env);
	else if (env->size && env->zero && !env->minus && env->quest)
		i = ft_zero(env->size, env);
	else if (env->size && env->minus && env->quest)
		i = ft_minus(env->size, env);
	else
	{
		i = ft_strcmp(env->quest, "0") == -48 ? 1 : ft_strlen(env->quest);
		write(1, env->quest, ft_strlen(env->quest));
	}
	return (i);
}
Exemple #4
0
t_pad	ft_getpos2(const char *format, char *to_free, int i, t_pad p)
{
	if (p.pos.max < 0)
		p.pos.max = 0;
	if (p.pos.min > -1)
	{
		if ((format[i] == 'c' || format[i] == 'C') && to_free[0] == '\0')
			p.pos.min = ft_atoi(format + p.pos.min) - 1;
		else if (format[i] != 'S' && format[i] != 's')
			p.pos.min = ft_atoi(format + p.pos.min) - ft_strlen(to_free);
		else
			p.pos.min = ft_atoi(format + p.pos.min);
	}
	if (p.pos.type == 1)
		p.pos.min -= p.pos.prec == 0 ? 0 : p.pos.max;
	if (p.pos.min < 0)
		p.pos.min = 0;
	if (ft_isheren(format, '-', i) == -1 && (ft_isheren(format, '.', i) == -1
		|| p.pos.type != 1))
		p.pos.zero = ft_zero(format, i);
	p.c[0] = p.pos.zero == 1 ? '0' : ' ';
	p.c[1] = '\0';
	return (p);
}
Exemple #5
0
int main(int argc, char **argv)
{
	GError     *error = NULL;
	GtkBuilder *builder;

#if defined(_WIN32) && defined(GFT_USE_MANIFEST)
	{
		INITCOMMONCONTROLSEX tim;
		memset(&tim, 0, sizeof tim);
		tim.dwSize = sizeof tim;
		tim.dwICC = ICC_ANIMATE_CLASS | ICC_BAR_CLASSES | ICC_COOL_CLASSES |
								ICC_DATE_CLASSES | ICC_HOTKEY_CLASS | ICC_INTERNET_CLASSES |
								ICC_LISTVIEW_CLASSES | ICC_NATIVEFNTCTL_CLASS |
								ICC_PAGESCROLLER_CLASS | ICC_PROGRESS_CLASS |
								ICC_TAB_CLASSES | ICC_TREEVIEW_CLASSES |
								ICC_UPDOWN_CLASS | ICC_USEREX_CLASSES | ICC_STANDARD_CLASSES;

		if(InitCommonControlsEx(&tim) == FALSE)
			fputs("warning: InitCommomControlsEx() failed\n", stderr);
	}
#endif

#ifndef _WIN32
	if(signal(SIGCHLD, SIG_IGN) == SIG_ERR)
		perror("signal(SIGCHLD)");
#endif

	ft_zero(&ft);
	ft_async(&ft) = 1;
	gtk_init(&argc, &argv); /* bail here if !$DISPLAY */

#ifdef _WIN32
	{
		int debug = 0;

		if(argc == 2){
			if(!strcmp(argv[1], "-d")){
				debug = 1;
				fprintf(stderr, "%s: debug on\n",
						*argv);
			}else{
usage:
				fprintf(stderr, "Usage: %s [-d]\n",
						*argv);
				return 1;
			}
		}else if(argc != 1)
			goto usage;

		if(!debug){
			fputs("gft: debug off\n", stderr);
			FreeConsole();
		}
	}
#else
	if(argc != 1){
		fprintf(stderr, "Usage: %s\n", *argv);
		return 1;
	}
#endif

	builder = gtk_builder_new();

	if(gladegen_init())
		return 1;

	if(!gtk_builder_add_from_file(builder, GLADE_XML_FILE, &error)){
		g_warning("%s", error->message);
		/*g_free(error);*/
		return 1;
	}
	gladegen_term();

	if(getobjects(builder))
		return 1;

	gtk_builder_connect_signals(builder, NULL);

	glist_init(&listTransfers, treeTransfers);

	/* don't need it anymore */
	g_object_unref(G_OBJECT(builder));

	/* signal setup */
	g_signal_connect(G_OBJECT(winMain), "delete-event" ,       G_CALLBACK(on_winMain_delete_event),    NULL);
	g_signal_connect(G_OBJECT(winMain), "destroy",             G_CALLBACK(on_winMain_destroy),         NULL);

	cfg_read(cboHost);
	tray_init(winMain, *argv);
	transfers_init(&listDone, treeDone);

	gtk_widget_set_sensitive(btnSend, FALSE);
	drag_init();

	cmds();
	gtk_widget_show_all(winMain);
	gtk_main();

	tray_term();

	return 0;
}