本文整理汇总了C++中cm_return_val_if_fail函数的典型用法代码示例。如果您正苦于以下问题:C++ cm_return_val_if_fail函数的具体用法?C++ cm_return_val_if_fail怎么用?C++ cm_return_val_if_fail使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cm_return_val_if_fail函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pgpmime_get_sig_status
static SignatureStatus pgpmime_get_sig_status(MimeInfo *mimeinfo)
{
PrivacyDataPGP *data = (PrivacyDataPGP *) mimeinfo->privacy;
cm_return_val_if_fail(data != NULL, SIGNATURE_INVALID);
return sgpgme_sigstat_gpgme_to_privacy(data->ctx, data->sigstatus);
}
示例2: pop3_getauth_pass_send
static gint pop3_getauth_pass_send(Pop3Session *session)
{
cm_return_val_if_fail(session->pass != NULL, -1);
session->state = POP3_GETAUTH_PASS;
pop3_gen_send(session, "PASS %s", session->pass);
return PS_SUCCESS;
}
示例3: pop3_getauth_user_send
static gint pop3_getauth_user_send(Pop3Session *session)
{
cm_return_val_if_fail(session->user != NULL, -1);
session->state = POP3_GETAUTH_USER;
pop3_gen_send(session, "USER %s", session->user);
return PS_SUCCESS;
}
示例4: cm_return_val_if_fail
static gchar *pgpmime_get_sig_info_full(MimeInfo *mimeinfo)
{
PrivacyDataPGP *data = (PrivacyDataPGP *) mimeinfo->privacy;
cm_return_val_if_fail(data != NULL, g_strdup("Error"));
return sgpgme_sigstat_info_full(data->ctx, data->sigstatus);
}
示例5: cm_return_val_if_fail
/**
* Retrieve user attribute object for update.
* \param item UserAttribute to update.
* \return object, or <i>NULL</i> if none created.
*/
AttrKeyValue *ldapsvr_retrieve_attribute(UserAttribute *item) {
AttrKeyValue *newItem;
cm_return_val_if_fail(item != NULL, NULL);
newItem = attrkeyvalue_create();
newItem->key = g_strdup(item->name);
newItem->value = g_strdup(item->value);
return newItem;
}
示例6: cm_return_val_if_fail
static GSList *news_get_msginfos(Folder *folder, FolderItem *item, GSList *msgnum_list)
{
NewsSession *session;
GSList *elem, *msginfo_list = NULL, *tmp_msgnum_list, *tmp_msginfo_list;
guint first, last, next;
cm_return_val_if_fail(folder != NULL, NULL);
cm_return_val_if_fail(FOLDER_CLASS(folder) == &news_class, NULL);
cm_return_val_if_fail(msgnum_list != NULL, NULL);
cm_return_val_if_fail(item != NULL, NULL);
session = news_session_get(folder);
cm_return_val_if_fail(session != NULL, NULL);
tmp_msgnum_list = g_slist_copy(msgnum_list);
tmp_msgnum_list = g_slist_sort(tmp_msgnum_list, g_int_compare);
progressindicator_start(PROGRESS_TYPE_NETWORK);
first = GPOINTER_TO_INT(tmp_msgnum_list->data);
last = first;
news_folder_lock(NEWS_FOLDER(item->folder));
for(elem = g_slist_next(tmp_msgnum_list); elem != NULL; elem = g_slist_next(elem)) {
next = GPOINTER_TO_INT(elem->data);
if(next != (last + 1)) {
tmp_msginfo_list = news_get_msginfos_for_range(session, item, first, last);
msginfo_list = g_slist_concat(msginfo_list, tmp_msginfo_list);
first = next;
}
last = next;
}
news_folder_unlock(NEWS_FOLDER(item->folder));
tmp_msginfo_list = news_get_msginfos_for_range(session, item, first, last);
msginfo_list = g_slist_concat(msginfo_list, tmp_msginfo_list);
g_slist_free(tmp_msgnum_list);
progressindicator_stop(PROGRESS_TYPE_NETWORK);
return msginfo_list;
}
示例7: cm_return_val_if_fail
gchar *get_part_as_string(MimeInfo *mimeinfo)
{
gchar *textdata = NULL;
gchar *filename = NULL;
FILE *fp;
cm_return_val_if_fail(mimeinfo != NULL, 0);
procmime_decode_content(mimeinfo);
if (mimeinfo->content == MIMECONTENT_MEM)
textdata = g_strdup(mimeinfo->data.mem);
else {
filename = procmime_get_tmp_file_name(mimeinfo);
if (procmime_get_part(filename, mimeinfo) < 0) {
g_warning("error dumping temporary file '%s'", filename);
g_free(filename);
return NULL;
}
fp = claws_fopen(filename,"rb");
if (!fp) {
g_warning("error opening temporary file '%s'", filename);
g_free(filename);
return NULL;
}
textdata = fp_read_noconv(fp);
claws_fclose(fp);
g_unlink(filename);
g_free(filename);
}
if (!g_utf8_validate(textdata, -1, NULL)) {
gchar *tmp = NULL;
codeconv_set_strict(TRUE);
if (procmime_mimeinfo_get_parameter(mimeinfo, "charset")) {
tmp = conv_codeset_strdup(textdata,
procmime_mimeinfo_get_parameter(mimeinfo, "charset"),
CS_UTF_8);
}
if (!tmp) {
tmp = conv_codeset_strdup(textdata,
conv_get_locale_charset_str_no_utf8(),
CS_UTF_8);
}
codeconv_set_strict(FALSE);
if (!tmp) {
tmp = conv_codeset_strdup(textdata,
conv_get_locale_charset_str_no_utf8(),
CS_UTF_8);
}
if (tmp) {
g_free(textdata);
textdata = tmp;
}
}
return textdata;
}
示例8: cm_return_val_if_fail
/**
* Retrieve E-Mail address object for update.
* \param item ItemEmail to update.
* \return object, or <i>NULL</i> if none created.
*/
EmailKeyValue *ldapsvr_retrieve_item_email(ItemEMail *item) {
EmailKeyValue *newItem;
cm_return_val_if_fail(item != NULL, NULL);
newItem = emailkeyvalue_create();
newItem->alias = g_strdup(ADDRITEM_NAME(item));
newItem->mail = g_strdup(item->address);
newItem->remarks = g_strdup(item->remarks);
return newItem;
}
示例9: ldapqry_get_stop_flag
/**
* Test value of stop flag. This method should be used to determine whether a
* query has stopped running.
* \param qry Query object.
* \return Value of stop flag.
*/
static gboolean ldapqry_get_stop_flag( LdapQuery *qry ) {
gboolean value;
cm_return_val_if_fail( qry != NULL, TRUE );
pthread_mutex_lock( qry->mutexStop );
value = qry->stopFlag;
pthread_mutex_unlock( qry->mutexStop );
return value;
}
示例10: pgpinline_is_signed
static gboolean pgpinline_is_signed(MimeInfo *mimeinfo)
{
PrivacyDataPGP *data = NULL;
const gchar *sig_indicator = "-----BEGIN PGP SIGNED MESSAGE-----";
gchar *textdata, *sigpos;
cm_return_val_if_fail(mimeinfo != NULL, FALSE);
if (procmime_mimeinfo_parent(mimeinfo) == NULL)
return FALSE; /* not parent */
if (mimeinfo->type != MIMETYPE_TEXT &&
(mimeinfo->type != MIMETYPE_APPLICATION ||
g_ascii_strcasecmp(mimeinfo->subtype, "pgp")))
return FALSE;
/* Seal the deal. This has to be text/plain through and through. */
if (mimeinfo->type == MIMETYPE_APPLICATION)
{
mimeinfo->type = MIMETYPE_TEXT;
g_free(mimeinfo->subtype);
mimeinfo->subtype = g_strdup("plain");
}
if (mimeinfo->privacy != NULL) {
data = (PrivacyDataPGP *) mimeinfo->privacy;
if (data->done_sigtest)
return data->is_signed;
}
textdata = get_part_as_string(mimeinfo);
if (!textdata)
return FALSE;
if ((sigpos = strstr(textdata, sig_indicator)) == NULL) {
g_free(textdata);
return FALSE;
}
if (!(sigpos == textdata) && !(sigpos[-1] == '\n')) {
g_free(textdata);
return FALSE;
}
g_free(textdata);
if (data == NULL) {
data = pgpinline_new_privacydata();
mimeinfo->privacy = (PrivacyData *) data;
}
if (data != NULL) {
data->done_sigtest = TRUE;
data->is_signed = TRUE;
}
return TRUE;
}
示例11: ldapqry_get_busy_flag
/**
* Test value of busy flag. This method will return a value of <i>FALSE</i>
* when a query has completed running.
* \param qry Query object.
* \return Value of busy flag.
*/
static gboolean ldapqry_get_busy_flag( LdapQuery *qry ) {
gboolean value;
cm_return_val_if_fail( qry != NULL, FALSE );
pthread_mutex_lock( qry->mutexBusy );
value = qry->busyFlag;
pthread_mutex_unlock( qry->mutexBusy );
return value;
}
示例12: xmlprops_save_file
/*
* Save properties to file.
* return: Status code.
*/
gint xmlprops_save_file( XmlProperty *props ) {
cm_return_val_if_fail( props != NULL, -1 );
props->retVal = MGU_NO_FILE;
if( props->path == NULL || *props->path == '\0' ) return props->retVal;
xmlprops_write_to( props, props->path );
return props->retVal;
}
示例13: ldapsvr_deside_operation
/**
* Deside which kind of operation is required to handle
* updating the specified attribute
*
* \param ld AddressBook resource
* \param server Reference to server
* \param dn dn for the entry
* \param attr Attribute
* \param value New value
* \return int, return will be LDAP_MOD_ADD, LDAP_MOD_REPLACE, or LDAP_MOD_DELETE
*/
int ldapsvr_deside_operation(LDAP *ld, LdapServer *server, char *dn, char *attr, char *value) {
int rc;
gboolean dummy = FALSE;
#ifdef OPEN_LDAP_API_AT_LEAST_3000
struct berval val;
#endif
cm_return_val_if_fail(ld != NULL || server != NULL || dn != NULL || attr != NULL, -1);
if (value == NULL)
return -1;
/* value containing empty string cause invalid syntax. A bug in
* the LDAP library? Therefore we add a dummy value
*/
if (strcmp(value,"") == 0) {
value = g_strdup("thisisonlyadummy");
dummy = TRUE;
}
#ifdef OPEN_LDAP_API_AT_LEAST_3000
val.bv_val = value;
val.bv_len = strlen(value);
rc = ldap_compare_ext_s(ld, dn, attr, &val, NULL, NULL);
#else
/* This is deprecated as of OpenLDAP-2.3.0 */
rc = ldap_compare_s(ld, dn, attr, value);
#endif
debug_print("ldap_compare for (%s:%s)\" error_code[0x%x]: %s\n",
attr, value, rc, ldaputil_get_error(ld));
switch (rc) {
case LDAP_COMPARE_FALSE:
if (dummy)
return LDAP_MOD_DELETE;
else
return LDAP_MOD_REPLACE;
case LDAP_COMPARE_TRUE: return -1;
case LDAP_NO_SUCH_ATTRIBUTE: return LDAP_MOD_ADD;
/* LDAP_INAPPROPRIATE_MATCHING needs extensive testing because I
* am not aware off the condition causing this return value!
*/
case LDAP_INAPPROPRIATE_MATCHING:
if (dummy)
value = NULL;
return ldapsvr_compare_manual_attr(ld, server, dn, attr, value);
case LDAP_UNDEFINED_TYPE: return -2;
case LDAP_INVALID_SYNTAX: return -2;
default: return -2;
}
}
示例14: news_get_num_list
static gint news_get_num_list(Folder *folder, FolderItem *item, GSList **msgnum_list, gboolean *old_uids_valid)
{
NewsSession *session;
gint i, ok, num, first, last, nummsgs = 0;
gchar *dir;
cm_return_val_if_fail(item != NULL, -1);
cm_return_val_if_fail(item->folder != NULL, -1);
cm_return_val_if_fail(FOLDER_CLASS(folder) == &news_class, -1);
session = news_session_get(folder);
cm_return_val_if_fail(session != NULL, -1);
*old_uids_valid = TRUE;
news_folder_lock(NEWS_FOLDER(item->folder));
ok = news_select_group(folder, item->path, &num, &first, &last);
if (ok != NEWSNNTP_NO_ERROR) {
log_warning(LOG_PROTOCOL, _("couldn't set group: %s\n"), item->path);
news_folder_unlock(NEWS_FOLDER(item->folder));
return -1;
}
dir = news_folder_get_path(folder);
if (num <= 0)
remove_all_numbered_files(dir);
else if (last < first)
log_warning(LOG_PROTOCOL, _("invalid article range: %d - %d\n"),
first, last);
else {
for (i = first; i <= last; i++) {
*msgnum_list = g_slist_prepend(*msgnum_list,
GINT_TO_POINTER(i));
nummsgs++;
}
debug_print("removing old messages from %d to %d in %s\n",
first, last, dir);
remove_numbered_files(dir, 1, first - 1);
}
g_free(dir);
news_folder_unlock(NEWS_FOLDER(item->folder));
return nummsgs;
}
示例15: news_rename_folder
static gint news_rename_folder(Folder *folder, FolderItem *item,
const gchar *name)
{
gchar *path;
cm_return_val_if_fail(folder != NULL, -1);
cm_return_val_if_fail(item != NULL, -1);
cm_return_val_if_fail(item->path != NULL, -1);
cm_return_val_if_fail(name != NULL, -1);
path = folder_item_get_path(item);
if (!is_dir_exist(path))
make_dir_hier(path);
g_free(item->name);
item->name = g_strdup(name);
return 0;
}