⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 glib.c

📁 系统任务管理器
💻 C
字号:
/* GKrellM|  Copyright (C) 1999-2006 Bill Wilson||  Author:  Bill Wilson    billw@gkrellm.net|  Latest versions might be found at:  http://gkrellm.net||  This program is free software which I release under the GNU General Public|  License. You may redistribute and/or modify this program under the terms|  of that license as published by the Free Software Foundation; either|  version 2 of the License, or (at your option) any later version.||  This program is distributed in the hope that it will be useful,|  but WITHOUT ANY WARRANTY; without even the implied warranty of|  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the|  GNU General Public License for more details.  Version 2 is in the|  COPYRIGHT file in the top level directory of this distribution.| |  To get a copy of the GNU General Puplic License, write to the Free Software|  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/#include "gkrellmd.h"#include "gkrellmd-private.h"#if !GLIB_CHECK_VERSION(2,0,0)/* glib2 compatibility functions for compiling gkrellmd under glib1.2*/GDir *g_dir_open(gchar *path, guint flags, gpointer error)	{	GDir	*gdir;	DIR		*dir;	dir = opendir(path);	if (!dir)		return NULL;	gdir = g_new0(GDir, 1);	gdir->dir = dir;	return gdir;	}gchar*g_dir_read_name(GDir *dir)	{	struct dirent *entry;	while ((entry = readdir(dir->dir)) != NULL)		{		if (   !strcmp(entry->d_name, ".")			|| !strcmp(entry->d_name, "..")		   )			continue;		return entry->d_name;		}	return NULL;	}voidg_dir_close(GDir *dir)	{	closedir(dir->dir);	g_free(dir);	}gbooleang_file_test(gchar *filename, gint test)	{	struct stat		s;	if ((test & G_FILE_TEST_EXISTS) && (access(filename, F_OK) == 0))		return TRUE;	if (   (test & G_FILE_TEST_IS_DIR)		&& stat(filename, &s) == 0		&& S_ISDIR(s.st_mode)	   )		return TRUE;	if (   (test & G_FILE_TEST_IS_REGULAR)		&& stat(filename, &s) == 0		&& S_ISREG(s.st_mode)	   )		return TRUE;	return FALSE;	}gchar *g_build_filename(gchar *first, ...)	{	gchar		*str;	va_list		args;	gchar		*s, *element, *next_element;	gboolean	is_first = TRUE;	va_start(args, first);	next_element = first;	str = g_strdup("");	while (1)		{		if (next_element)			{			element = next_element;			next_element = va_arg(args, gchar *);			}		else			break;		if (is_first)			{			is_first = FALSE;			g_free(str);			str = g_strdup(element);			}		else			{			s = str;			str = g_strconcat(str, G_DIR_SEPARATOR_S, element, NULL);			g_free(s);			}		}	va_end (args);	return str;	}gchar *g_path_get_basename(gchar *fname)	{	gchar	*s;	if (!*fname)		return g_strdup(".");	s = strrchr(fname, G_DIR_SEPARATOR);	if (!s)		return g_strdup(fname);	return g_strdup(s + 1);		/* don't handle paths ending in slash */	}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -