本文整理汇总了C++中cm_return_if_fail函数的典型用法代码示例。如果您正苦于以下问题:C++ cm_return_if_fail函数的具体用法?C++ cm_return_if_fail怎么用?C++ cm_return_if_fail使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cm_return_if_fail函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: parse_parameter
/**
* Parse program parameters and remove all parameters
* that have been processed. Arguments are pointers to
* original passed programm arguments and these will
* be modified leaving only unknown parameters for
* further processing
*
* \param argc pointer to number of parameters
* \param argv pointer to array of parameter strings
*/
static void parse_parameter(int *argc, char ***argv)
{
gint i, j, k;
cm_return_if_fail(argc != NULL);
cm_return_if_fail(argv != NULL);
for (i = 1; i < *argc;) {
if (strcmp("--debug", (*argv)[i]) == 0) {
debug_set_mode(TRUE);
(*argv)[i] = NULL;
}
i += 1;
}
/* Remove NULL args from argv[] for further processing */
for (i = 1; i < *argc; i++) {
for (k = i; k < *argc; k++)
if ((*argv)[k] != NULL)
break;
if (k > i) {
k -= i;
for (j = i + k; j < *argc; j++)
(*argv)[j - k] = (*argv)[j];
*argc -= k;
}
}
}
开发者ID:Mortal,项目名称:claws,代码行数:41,代码来源:claws.c
示例2: prefs_themes_foreach_file
static void prefs_themes_foreach_file(const gchar *dirname, const FileFunc func, gpointer data)
{
struct dirent *d;
DIR *dp;
cm_return_if_fail(dirname != NULL);
cm_return_if_fail(func != NULL);
if ((dp = opendir(dirname)) == NULL) {
debug_print("directory %s not found\n", dirname);
return;
}
while ((d = readdir(dp)) != NULL) {
gchar *entry;
gchar *fullentry;
entry = d->d_name;
fullentry = g_strconcat(dirname, G_DIR_SEPARATOR_S, entry, NULL);
(*func)(fullentry, data);
g_free(fullentry);
}
closedir(dp);
}
开发者ID:SpOOnman,项目名称:claws,代码行数:26,代码来源:prefs_themes.c
示例3: uri_opener_open
void uri_opener_open(MessageView *msgview, GSList *uris)
{
cm_return_if_fail(msgview);
cm_return_if_fail(msgview->mimeview);
cm_return_if_fail(msgview->mimeview->textview);
cm_return_if_fail(msgview);
if (!opener.window)
uri_opener_create();
manage_window_set_transient(GTK_WINDOW(opener.window));
gtk_widget_grab_focus(opener.close_btn);
if (uris == NULL) {
alertpanel_notice(_("There are no URLs in this email."));
return;
}
opener.msgview = msgview;
opener.uris = g_slist_copy(uris);
uri_opener_load_uris();
gtk_widget_show(opener.window);
gtk_widget_grab_focus(opener.urilist);
gtk_window_set_modal(GTK_WINDOW(opener.window), TRUE);
}
开发者ID:kuba-moo,项目名称:claws-mail,代码行数:25,代码来源:uri_opener.c
示例4: addrcache_id_attribute
/*
* Allocate ID for user attribute.
*/
void addrcache_id_attribute( AddressCache *cache, UserAttribute *attrib ) {
cm_return_if_fail( cache != NULL );
cm_return_if_fail( attrib != NULL );
if( attrib->uid ) return;
addrcache_next_id( cache );
attrib->uid = g_strdup_printf( "%d", cache->nextID );
}
开发者ID:Mortal,项目名称:claws,代码行数:10,代码来源:addrcache.c
示例5: prefs_themes_foreach_file
static void prefs_themes_foreach_file(const gchar *dirname, const FileFunc func, gpointer data)
{
const gchar *entry;
gchar *fullentry;
GDir *dp;
GError *error = NULL;
cm_return_if_fail(dirname != NULL);
cm_return_if_fail(func != NULL);
if ((dp = g_dir_open(dirname, 0, &error)) == NULL) {
debug_print("couldn't open dir '%s': %s (%d)\n", dirname,
error->message, error->code);
g_error_free(error);
return;
}
while ((entry = g_dir_read_name(dp)) != NULL) {
fullentry = g_strconcat(dirname, G_DIR_SEPARATOR_S, entry, NULL);
(*func)(fullentry, data);
g_free(fullentry);
}
g_dir_close(dp);
}
开发者ID:Mortal,项目名称:claws,代码行数:27,代码来源:prefs_themes.c
示例6: addrcache_id_folder
/*
* Allocate ID for folder.
*/
void addrcache_id_folder( AddressCache *cache, ItemFolder *folder ) {
cm_return_if_fail( cache != NULL );
cm_return_if_fail( folder != NULL );
if( ADDRITEM_ID(folder) ) return;
addrcache_next_id( cache );
ADDRITEM_ID(folder) = g_strdup_printf( "%d", cache->nextID );
}
开发者ID:Mortal,项目名称:claws,代码行数:10,代码来源:addrcache.c
示例7: addrcache_id_email
/*
* Allocate ID for email address.
*/
void addrcache_id_email( AddressCache *cache, ItemEMail *email ) {
cm_return_if_fail( cache != NULL );
cm_return_if_fail( email != NULL );
if( ADDRITEM_ID(email) ) return;
addrcache_next_id( cache );
ADDRITEM_ID(email) = g_strdup_printf( "%d", cache->nextID );
}
开发者ID:Mortal,项目名称:claws,代码行数:10,代码来源:addrcache.c
示例8: addrcache_id_group
/*
* Allocate ID for group.
*/
void addrcache_id_group( AddressCache *cache, ItemGroup *group ) {
cm_return_if_fail( cache != NULL );
cm_return_if_fail( group != NULL );
if( ADDRITEM_ID(group) ) return;
addrcache_next_id( cache );
ADDRITEM_ID(group) = g_strdup_printf( "%d", cache->nextID );
}
开发者ID:Mortal,项目名称:claws,代码行数:10,代码来源:addrcache.c
示例9: addrcache_id_person
/*
* Allocate ID for person.
*/
void addrcache_id_person( AddressCache *cache, ItemPerson *person ) {
cm_return_if_fail( cache != NULL );
cm_return_if_fail( person != NULL );
if( ADDRITEM_ID(person) ) return;
addrcache_next_id( cache );
ADDRITEM_ID(person) = g_strdup_printf( "%d", cache->nextID );
}
开发者ID:Mortal,项目名称:claws,代码行数:10,代码来源:addrcache.c
示例10: new_folder_cb
static void new_folder_cb(GtkAction *action, gpointer data)
{
FolderView *folderview = (FolderView *)data;
FolderItem *item;
FolderItem *new_item;
gchar *new_folder;
gchar *name;
gchar *p;
gchar separator = '/';
if (!folderview->selected) return;
item = folderview_get_selected_item(folderview);
cm_return_if_fail(item != NULL);
cm_return_if_fail(item->folder != NULL);
cm_return_if_fail(item->folder->account != NULL);
new_folder = input_dialog_with_checkbtn
(_("New folder"),
_("Input the name of new folder:\n"
"(if you want to create a folder to store subfolders\n"
"only and no mail, append '/' to the folder name)"),
_("NewFolder"),
_("Inherit properties from parent folder"),
&(prefs_common.inherit_folder_props));
if (!new_folder) return;
AUTORELEASE_STR(new_folder, {g_free(new_folder); return;});
开发者ID:buzz,项目名称:claws,代码行数:28,代码来源:imap_gtk.c
示例11: gtk_vscrollbutton_set_adjustment
void gtk_vscrollbutton_set_adjustment(GtkVScrollbutton *scrollbutton,
GtkAdjustment *adjustment)
{
cm_return_if_fail(scrollbutton != NULL);
cm_return_if_fail(GTK_IS_VSCROLLBUTTON(scrollbutton));
if (!adjustment)
adjustment =
GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
else
cm_return_if_fail(GTK_IS_ADJUSTMENT(adjustment));
if (scrollbutton->adjustment != adjustment) {
if (scrollbutton->adjustment) {
g_signal_handlers_disconnect_matched(scrollbutton->adjustment,
G_SIGNAL_MATCH_DATA,
0, 0, NULL, NULL,
(gpointer) scrollbutton);
g_object_unref(G_OBJECT(scrollbutton->adjustment));
}
scrollbutton->adjustment = adjustment;
g_object_ref(G_OBJECT(adjustment));
g_object_ref_sink (G_OBJECT(adjustment));
}
}
开发者ID:Mortal,项目名称:claws,代码行数:26,代码来源:gtkvscrollbutton.c
示例12: prefs_themes_get_theme_info
static void prefs_themes_get_theme_info(ThemesData *tdata)
{
FILE *finfo;
gchar *sinfo;
gchar *path;
gchar line[INFOFILE_LINE_LEN];
gint len;
ThemeInfo *info;
ThemesPage *theme = tdata->page;
cm_return_if_fail(theme != NULL);
path = tdata->displayed;
cm_return_if_fail(path != NULL);
debug_print("Getting theme info for %s\n", path);
info = g_new0(ThemeInfo, 1);
if (IS_INTERNAL_THEME(path)) {
info->name = g_strdup(_("Default internal theme"));
info->author = g_strdup(_("The Claws Mail Team"));
info->url = g_strdup(HOMEPAGE_URI);
info->status = g_strdup_printf(_("Internal theme has %d icons"), N_STOCK_PIXMAPS);
}
else {
sinfo = g_strconcat(path, G_DIR_SEPARATOR_S, THEMEINFO_FILE, NULL);
finfo = g_fopen(sinfo, "r");
if (finfo == NULL) {
info->name = g_strdup(_("No info file available for this theme"));
info->author = g_strdup(_("Unknown"));
info->url = g_strdup(_("Unknown"));
}
else {
FGETS_INFOFILE_LINE()
info->name = g_strdup(line);
FGETS_INFOFILE_LINE()
info->author = g_strdup(line);
FGETS_INFOFILE_LINE()
info->url = g_strdup(line);
fclose(finfo);
}
g_free(sinfo);
info->status = prefs_themes_get_theme_stats(path);
if (info->status == NULL) {
info->status = g_strdup(_("Error: couldn't get theme status"));
}
}
prefs_themes_display_theme_info(tdata, info);
g_free(info->name);
g_free(info->author);
g_free(info->url);
g_free(info->status);
g_free(info);
}
开发者ID:Mortal,项目名称:claws,代码行数:59,代码来源:prefs_themes.c
示例13: date_format_cancel_btn_clicked
static void date_format_cancel_btn_clicked(GtkButton *button,
GtkWidget **widget)
{
cm_return_if_fail(widget != NULL);
cm_return_if_fail(*widget != NULL);
gtk_widget_destroy(*widget);
*widget = NULL;
}
开发者ID:twolife,项目名称:claws,代码行数:9,代码来源:prefs_summaries.c
示例14: gtk_vscrollbutton_remove_timer
static void gtk_vscrollbutton_remove_timer(GtkVScrollbutton *scrollbutton)
{
cm_return_if_fail(scrollbutton != NULL);
cm_return_if_fail(GTK_IS_VSCROLLBUTTON(scrollbutton));
if (scrollbutton->timer) {
g_source_remove(scrollbutton->timer);
scrollbutton->timer = 0;
}
scrollbutton->need_timer = FALSE;
}
开发者ID:Mortal,项目名称:claws,代码行数:11,代码来源:gtkvscrollbutton.c
示例15: gtk_vscrollbutton_add_timer
static void gtk_vscrollbutton_add_timer(GtkVScrollbutton *scrollbutton)
{
cm_return_if_fail(scrollbutton != NULL);
cm_return_if_fail(GTK_IS_VSCROLLBUTTON(scrollbutton));
if (!scrollbutton->timer) {
scrollbutton->need_timer = TRUE;
scrollbutton->timer = g_timeout_add(SCROLL_INITIAL_DELAY,
(GSourceFunc)
gtk_vscrollbutton_timer_1st_time,
scrollbutton);
}
}
开发者ID:Mortal,项目名称:claws,代码行数:13,代码来源:gtkvscrollbutton.c
示例16: unsubscribe_newsgroup_cb
static void unsubscribe_newsgroup_cb(GtkAction *action, gpointer data)
{
FolderView *folderview = (FolderView *)data;
FolderItem *item;
gchar *name;
gchar *message;
gchar *old_id;
AlertValue avalue;
MainWindow *mainwin = mainwindow_get_mainwindow();
if (!folderview->selected) return;
item = folderview_get_selected_item(folderview);
cm_return_if_fail(item != NULL);
if (mainwin->lock_count || news_folder_locked(item->folder))
return;
cm_return_if_fail(item->folder != NULL);
cm_return_if_fail(FOLDER_TYPE(item->folder) == F_NEWS);
cm_return_if_fail(item->folder->account != NULL);
old_id = folder_item_get_identifier(item);
name = trim_string(item->path, 32);
message = g_strdup_printf(_("Really unsubscribe newsgroup '%s'?"), name);
avalue = alertpanel_full(_("Unsubscribe newsgroup"), message,
GTK_STOCK_CANCEL, _("_Unsubscribe"), NULL,
ALERTFOCUS_FIRST, FALSE, NULL, ALERT_WARNING);
g_free(message);
g_free(name);
if (avalue != G_ALERTALTERNATE) return;
if (item == folderview_get_opened_item(folderview)) {
summary_clear_all(folderview->summaryview);
folderview_close_opened(folderview, TRUE);
}
if(item->folder->klass->remove_folder(item->folder, item) < 0) {
folder_item_scan(item);
alertpanel_error(_("Can't remove the folder '%s'."), name);
g_free(old_id);
return;
}
folder_write_list();
prefs_filtering_delete_path(old_id);
g_free(old_id);
}
开发者ID:eworm-de,项目名称:claws-mail,代码行数:50,代码来源:news_gtk.c
示例17: addrcache_folder_move_person
/*
* Move person to destination folder.
* Enter: cache Cache.
* person Person to move.
* target Target folder.
*/
void addrcache_folder_move_person(
AddressCache *cache, ItemPerson *person, ItemFolder *target )
{
ItemFolder *parent;
cm_return_if_fail( cache != NULL );
cm_return_if_fail( person != NULL );
parent = ( ItemFolder * ) ADDRITEM_PARENT(person);
if( ! parent ) parent = cache->rootFolder;
parent->listPerson = g_list_remove( parent->listPerson, person );
target->listPerson = g_list_append( target->listPerson, person );
ADDRITEM_PARENT(person) = ADDRITEM_OBJECT(target);
cache->dirtyFlag = TRUE;
}
开发者ID:Mortal,项目名称:claws,代码行数:21,代码来源:addrcache.c
示例18: addrcache_folder_move_folder
/*
* Move folder to destination folder.
* Enter: cache Cache.
* folder Folder to move.
* target Target folder.
*/
void addrcache_folder_move_folder(
AddressCache *cache, ItemFolder *folder, ItemFolder *target )
{
ItemFolder *parent;
cm_return_if_fail( cache != NULL );
cm_return_if_fail( folder != NULL );
parent = ( ItemFolder * ) ADDRITEM_PARENT(folder);
if( ! parent ) parent = cache->rootFolder;
parent->listFolder = g_list_remove( parent->listFolder, folder );
target->listFolder = g_list_append( target->listFolder, folder );
ADDRITEM_PARENT(folder) = ADDRITEM_OBJECT(target);
cache->dirtyFlag = TRUE;
}
开发者ID:Mortal,项目名称:claws,代码行数:21,代码来源:addrcache.c
示例19: undo_add
static void undo_add(const gchar *text,
gint start_pos, gint end_pos,
UndoAction action, UndoMain *undostruct)
{
UndoInfo *undoinfo;
GtkAdjustment *vadj;
cm_return_if_fail(text != NULL);
cm_return_if_fail(end_pos >= start_pos);
undo_free_list(&undostruct->redo);
/* Set the redo sensitivity */
undostruct->change_state_func(undostruct,
UNDO_STATE_UNCHANGED, UNDO_STATE_FALSE,
undostruct->change_state_data);
if (undostruct->paste != 0) {
if (action == UNDO_ACTION_INSERT)
action = UNDO_ACTION_REPLACE_INSERT;
else
action = UNDO_ACTION_REPLACE_DELETE;
undostruct->paste = undostruct->paste + 1;
if (undostruct->paste == 3)
undostruct->paste = 0;
}
if (undo_merge(undostruct->undo, start_pos, end_pos, action, text))
return;
undo_check_size(undostruct);
vadj = GTK_ADJUSTMENT(gtk_text_view_get_vadjustment(
GTK_TEXT_VIEW(undostruct->textview)));
undoinfo = undo_object_new(g_strdup(text), start_pos, end_pos, action,
gtk_adjustment_get_value(vadj));
if (end_pos - start_pos != 1 || text[0] == '\n')
undoinfo->mergeable = FALSE;
else
undoinfo->mergeable = TRUE;
undostruct->undo = g_list_prepend(undostruct->undo, undoinfo);
undostruct->change_state_func(undostruct,
UNDO_STATE_TRUE, UNDO_STATE_UNCHANGED,
undostruct->change_state_data);
}
开发者ID:SpOOnman,项目名称:claws,代码行数:48,代码来源:undo.c
示例20: pop3_session_destroy
static void pop3_session_destroy(Session *session)
{
Pop3Session *pop3_session = POP3_SESSION(session);
gint n;
cm_return_if_fail(session != NULL);
for (n = 1; n <= pop3_session->count; n++)
g_free(pop3_session->msg[n].uidl);
g_free(pop3_session->msg);
if (pop3_session->uidl_table) {
hash_free_strings(pop3_session->uidl_table);
g_hash_table_destroy(pop3_session->uidl_table);
}
if (pop3_session->partial_recv_table) {
hash_free_strings(pop3_session->partial_recv_table);
g_hash_table_destroy(pop3_session->partial_recv_table);
}
g_free(pop3_session->greeting);
g_free(pop3_session->user);
g_free(pop3_session->pass);
g_free(pop3_session->error_msg);
pop3_session->ac_prefs->receive_in_progress = FALSE;
}
开发者ID:ignatenkobrain,项目名称:claws,代码行数:28,代码来源:pop.c
注:本文中的cm_return_if_fail函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论