Example #1
0
File: lexer.c Project: WeirdDev/wc
ptoken lexer_token_copy(ptoken src, int line) {
	ptoken ret = member_new(token);
	memcpy(ret, src, sizeof(token));
	ret->base.accept = &token_accept;
	ret->base.line = line;

	return ret;
}
Example #2
0
File: lexer.c Project: WeirdDev/wc
ptoken lexer_token_create(membertype type, char* string, int line) {
	ptoken ret = member_new(token);
	ret->base.type = type;
	ret->base.accept = &token_accept;
	ret->string = string;
	ret->base.line = line;

	return ret;
}
Example #3
0
int
main(int argc, char **argv) {

  if (argc < 3 || argc > 4){
    fprintf(stderr,
      "usage: %s <hostname> <port> (<sentence_file>)\n", argv[0]);
    return 1;
  }

  /* initialize rng for sentences & filler */
  srandom(time(NULL));

  if (argc == 4) {
    sentence_file = strdup(argv[3]);
    init_sentences(sentence_file);
  }
  else {
    sentence_file = NULL;
  }

  int port = atoi(argv[2]);

  int uv_res;
  struct sockaddr_in xb_addr;
  uv_res = uv_ip4_addr(argv[1], port, &xb_addr);

  if (uv_res) {
    fatal(uv_res, "could not obtain IP address");
  }

  loop = uv_default_loop();

  member *memb = member_new();

  uv_tcp_init(loop, &memb->client);

  uv_res = uv_tcp_connect(
    &memb->connection,
    &memb->client,
    (const struct sockaddr*) &xb_addr,
    on_connect
  );

  if (uv_res) {
    fatal(uv_res, "could not connect to server");
  }

  return uv_run(loop, UV_RUN_DEFAULT);
}