Exemple #1
0
char *
replyify (synopsis * syn, char *buf)
{
    char *newbuf;
    char tbuf[1024];
    void *list;
    int s = 0, x = 0, len;

    len = strlen (buf);
    list = ll_newlist ();
    snprintf (tbuf, strlen (syn->sender) + 8, "%s said:\n", syn->sender);
    ll_addnode (list, tbuf);
    while (x < len)
      {
	  if (buf[x] == '\n')
	    {
		snprintf (tbuf, x - s + 4, "> %s\n", buf + s);
		ll_addnode (list, tbuf);
		memset (tbuf, 0, 1024);
		s = x + 1;
	    }
	  x++;
      }

    snprintf (tbuf, strlen (getenv ("HOME")) + strlen ("/.signature") + 1,
	      "%s/.signature", getenv ("HOME"));
    printf ("tbuf: %s\n", tbuf);
    list = ll_append (list, read_file_to_list (tbuf));
    free (buf);
    newbuf = stringinate (list);
    ll_clearlist (list);
    return newbuf;
}
Exemple #2
0
// --------------------
// main
// --------------------
int main(int argc, char *argv[])
{
	int ret = 0;
	if (!open_log(get_log_filename()))
	{
		perror("Open log error");
		return 1;
	}

	write_log(1);

	if (argc != 3 && argc != 4)
	{
		usage();
		write_log(9);
		ret = 1;
		goto ARG_ERROR;
	}

	simple_list *host_list = read_file_to_list(argv[HOSTFILE_INDEX]);
	if (host_list == NULL)
	{
		if (errno == ENOENT)
			write_log(4, argv[HOSTFILE_INDEX]);
		else
			write_log(5, argv[HOSTFILE_INDEX]);
		ret = 2;
		goto OPEN_HOST_ERROR;
	}

	simple_list *sql_list = read_file_to_list(argv[SQLFILE_INDEX]);
	if (sql_list == NULL)
	{
		if (errno == ENOENT)
			write_log(4, argv[SQLFILE_INDEX]);
		else
			write_log(5, argv[SQLFILE_INDEX]);
		ret = 3;
		goto OPEN_SQL_ERROR;
	}

	if (argc == 4)
	{
		g_commit_per_execution = atoi(argv[COMMIT_PER_EXECUTION_INDEX]);
	}

	sql_connections *connections = sql_connections_new(host_list);
	if (connections)
	{
		do
		{
			if (sql_connections_execute(connections, sql_list) != 0)
			{
				sql_connections_execute_rollback(connections);
				ret = 5;
				break;
			}
			if (sql_connections_commit(connections, argv[2]) != 0)
			{
				sql_connections_commit_rollback(connections);
				ret = 6;
				break;
			}
		} while(0);
		sql_connections_delete(connections);
	}
	else
	{
		ret = 4;
	}

OPEN_SQL_ERROR:
	simple_list_delete_string(sql_list);
OPEN_HOST_ERROR:
	simple_list_delete_string(host_list);
ARG_ERROR:
	if (ret == 0)
		write_log(3);
	else
		write_log(8);
	close_log();
	return ret;
}