Exemplo n.º 1
0
void				put_cd(s_client cl)
{
  char				server_cd[BUFF_MAX];

  my_send(cl.server_socket, cl.cmd, my_strlen(cl.cmd), (int)NULL);
  view_query(server_cd, cl);
}
Exemplo n.º 2
0
void				put_ls(s_client cl)
{
  char				server_ls[BUFF_MAX];

  my_send(cl.server_socket, "ls", my_strlen("ls"), (int)NULL);
  view_query(server_ls, cl);
  my_memset(server_ls, 0, BUFF_MAX);
}
Exemplo n.º 3
0
void				put_pwd(s_client cl)
{
  char				server_querry[BUFF_MAX];

  my_send(cl.server_socket, "pwd", my_strlen("pwd"), (int)NULL);
  view_query(server_querry, cl);
  my_putchar('\n');
}
Exemplo n.º 4
0
int count_query(int a, int b){
  view_query(a,b);

  int L=0, cnt=0;
  ci_iter it1, it2;
  if (ci.count(a)){
    it1 = ci.lower_bound(a);
    L = it1->second.pos;
  } else {
    int L1,R1;
    it1 = find_piece(ci, N, a, L1, R1);
    for (int i=L1; i<R1; i++)
      if (arr[i] >= a && arr[i] < b) cnt++;
    L = R1;
    it1++;
  }
  assert(it1 != ci.end());
  it1++;

  if (ci.count(b)){
    it2 = ci.lower_bound(b);
  } else {
    int L2, R2;
    it2 = find_piece(ci, N, b, L2, R2);
    for (int i=L2; i<R2; i++)
      if (arr[i] >= a && arr[i] < b) cnt++;
    assert(it1 != it2);
    it2--;
  }

  while (true){
    cnt += it1->second.prev_pos() - L;
    L = it1->second.pos;
    if (it1 == it2) break;
    it1++;
  }
  return cnt;
}