コード例 #1
0
ファイル: mailimap_id_sender.c プロジェクト: tipbit/libetpan
static int mailimap_id_params_list_send(mailstream * fd, struct mailimap_id_params_list * list)
{
  int r;

  if ((list == NULL) || (clist_count(list->idpa_list) == 0)) {
    r = mailimap_token_send(fd, "NIL");
    if (r != MAILIMAP_NO_ERROR)
      return r;
    return MAILIMAP_NO_ERROR;
  }

  r = mailimap_oparenth_send(fd);
  if (r != MAILIMAP_NO_ERROR)
    return r;
  
  r = mailimap_struct_spaced_list_send(fd, list->idpa_list,
  				  (mailimap_struct_sender *)
				  mailimap_id_param_send);
  if (r != MAILIMAP_NO_ERROR)
    return r;
  
  r = mailimap_cparenth_send(fd);
  if (r != MAILIMAP_NO_ERROR)
    return r;
  
  return MAILIMAP_NO_ERROR;
}
コード例 #2
0
ファイル: mailimap_sort.c プロジェクト: AlexKar/libetpan
int mailimap_sort_key_send(mailstream * fd,
                                  struct mailimap_sort_key * key)
{
  int r;
  
  if (key->sortk_is_reverse) {
    r = mailimap_token_send(fd, "REVERSE");
    if (r != MAILIMAP_NO_ERROR)
      return r;
    r = mailimap_space_send(fd);
    if (r != MAILIMAP_NO_ERROR)
      return r;
  }
  
  switch (key->sortk_type) {
      
    case MAILIMAP_SORT_KEY_ARRIVAL:
      return mailimap_token_send(fd, "ARRIVAL");
    case MAILIMAP_SORT_KEY_CC:
      return mailimap_token_send(fd, "CC");
    case MAILIMAP_SORT_KEY_DATE:
      return mailimap_token_send(fd, "DATE");
    case MAILIMAP_SORT_KEY_FROM:
      return mailimap_token_send(fd, "FROM");
    case MAILIMAP_SORT_KEY_SIZE:
      return mailimap_token_send(fd, "SIZE");
    case MAILIMAP_SORT_KEY_SUBJECT:
      return mailimap_token_send(fd, "SUBJECT");
    case MAILIMAP_SORT_KEY_TO:
      return mailimap_token_send(fd, "TO");
      
    case MAILIMAP_SORT_KEY_MULTIPLE:
      r = mailimap_struct_spaced_list_send(fd, key->sortk_multiple,
                                           (mailimap_struct_sender *)
                                           mailimap_sort_key_send);
      
      return MAILIMAP_NO_ERROR;
    default:
      /* should not happend */
      return MAILIMAP_ERROR_INVAL;
  }
}
コード例 #3
0
static int mailimap_id_params_list_send(mailstream * fd, struct mailimap_id_params_list * list)
{
  int r;
  
  r = mailimap_oparenth_send(fd);
  if (r != MAILIMAP_NO_ERROR)
    return r;
  
  r = mailimap_struct_spaced_list_send(fd, list->idpa_list,
  				  (mailimap_struct_sender *)
				  mailimap_id_param_send);
  if (r != MAILIMAP_NO_ERROR)
    return r;
  
  r = mailimap_cparenth_send(fd);
  if (r != MAILIMAP_NO_ERROR)
    return r;
  
  return MAILIMAP_NO_ERROR;
}
コード例 #4
0
ファイル: xgmlabels.c プロジェクト: Jazzo/libetpan
static int mailimap_msg_att_xgmlabels_send(mailstream * fd, struct mailimap_msg_att_xgmlabels * labels)
{
  int r;
  
  r = mailimap_oparenth_send(fd);
  if (r != MAILIMAP_NO_ERROR)
    return r;
  
  if (labels->att_labels != NULL) {
    r = mailimap_struct_spaced_list_send(fd, labels->att_labels,
                                         (mailimap_struct_sender *) mailimap_astring_send);
    if (r != MAILIMAP_NO_ERROR)
      return r;
  }
  
  r = mailimap_cparenth_send(fd);
  if (r != MAILIMAP_NO_ERROR)
    return r;
  
  return MAILIMAP_NO_ERROR;
}
コード例 #5
0
ファイル: enable.c プロジェクト: AnckieLV/libetpan
static int mailimap_capability_data_send(mailstream * fd, struct mailimap_capability_data * capabilities)
{
	return mailimap_struct_spaced_list_send(fd, capabilities->cap_list,
		(mailimap_struct_sender *) mailimap_capability_info_send);
}