Пример #1
0
static gboolean	listen_from_server(GIOChannel *io, GIOCondition condition,
				   void *cnt)
{
  gchar		buf[512];
  gsize		nbr;
  t_message	msg;

  debug("listen_from_server()");
  (void) condition;
  if (g_io_channel_read(io, buf, CLIENT_READ_BUF_SIZE, &nbr)
      != G_IO_ERROR_NONE)
    {
      g_io_channel_close(io);
      return (-1);
    }
  buf[nbr] = '\0';
  if (nbr > 0)
    {
      extract_msg((char *) buf, &msg);
      printf("[%s]\n", msg.command);
      mesg_init(cnt, &msg);
      insert_mesg_to_list(cnt, EMPTY, "server", trim(buf));
    }
  scrolled_window(cnt, SCROLL_MESG);
  g_io_add_watch(io, G_IO_IN, listen_from_server, cnt);
  return (0);
}
Пример #2
0
int
init_game(const char *infile, const char *outfile)
{
	FILE *f;

	if ((f = fopen(MACRO_FILE, "rb")) == NULL)
		log_status("INIT: Macro storage file %s is tweaked.", MACRO_FILE);
	else {
		macroload(f);
		fclose(f);
	}

	in_filename = (char *) string_dup(infile);
	if ((input_file = fopen(infile, "rb")) == NULL)
		return -1;

#ifdef DELTADUMPS
	if ((delta_outfile = fopen(DELTAFILE_NAME, "wb")) == NULL)
		return -1;

	if ((delta_infile = fopen(DELTAFILE_NAME, "rb")) == NULL)
		return -1;
#endif

	db_free();
	init_primitives();			/* init muf compiler */
	mesg_init();				/* init mpi interpreter */
	SRANDOM(getpid());			/* init random number generator */
	tune_load_parmsfile(NOTHING);	/* load @tune parms from file */

	/* ok, read the db in */
	log_status("LOADING: %s", infile);
	fprintf(stderr, "LOADING: %s\n", infile);
	if (db_read(input_file) < 0)
		return -1;
	log_status("LOADING: %s (done)", infile);
	fprintf(stderr, "LOADING: %s (done)\n", infile);

	/* set up dumper */
	if (dumpfile)
		free((void *) dumpfile);
	dumpfile = alloc_string(outfile);

	if (!db_conversion_flag) {
		/* initialize the _sys/startuptime property */
		add_property((dbref) 0, "_sys/startuptime", NULL, (int) time((time_t *) NULL));
		add_property((dbref) 0, "_sys/maxpennies", NULL, tp_max_pennies);
		add_property((dbref) 0, "_sys/dumpinterval", NULL, tp_dump_interval);
		add_property((dbref) 0, "_sys/max_connects", NULL, 0);
	}

	return 0;
}