当前位置: 首页>>代码示例>>C++>>正文


C++ cm_return_if_fail函数代码示例

本文整理汇总了C++中cm_return_if_fail函数的典型用法代码示例。如果您正苦于以下问题:C++ cm_return_if_fail函数的具体用法?C++ cm_return_if_fail怎么用?C++ cm_return_if_fail使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了cm_return_if_fail函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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


注:本文中的cm_return_if_fail函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。