Example #1
0
int rand_range(int min, int max) {
  unsigned u;
  unsigned r = max - min + 1;
  unsigned ub = UINT_MAX - (UINT_MAX % r);
  do {
    u = rand_uint();
  } while (u > ub);
  return min + u % r;
}
Example #2
0
static void mg_join(struct mg_connection* conn, const struct mg_request_info* ri) {
	if(strcmp(ri->request_method, "GET") == 0) {
		uint new_id = rand_uint();

		if(!aatree_insert(&clients, new_id, (void*)1))
			goto error;

		mg_printf(conn, "%s", standard_reply);
		mg_printf(conn, "%u\n", new_id);

		// Invoke join_cb
		_invoke("join_cb", new_id, NULL);

		return;
	}
	
error:
	mg_error(conn, ri);
}