• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ check_dir函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



在下文中一共展示了check_dir函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: mb_init_mailboxes

/***************************************
 * API - setup the mailbox directory
 * 
 * IN:
 *  nodeid      - node id for this node
 *  create_link - not 0 if symbolic link
  *               needs to be created
 ***************************************/
int
mb_init_mailboxes(cmm_nodeid_t nodeid,
                  int create_link)
{
    char buffer[MAXPATHLEN];
    char localnode[MAXPATHLEN];
    int err;

    snprintf(buffer, sizeof(buffer), "%s/%d",
             MAILBOX_PATH, nodeid);

    err = check_dir(buffer, NULL);
    if (err) {
        return(1);
    }

    if (!create_link) {
        return(0);
    }

    /* Create the link */

    snprintf(localnode, sizeof(buffer), "%s/0",
             MAILBOX_PATH);
    
    err = check_dir(localnode, buffer);
    if (err) {
        return(1);
    }
    return(0);
}
开发者ID:elambert,项目名称:honeycomb,代码行数:39,代码来源:mbox.c


示例2: amgtar_selfcheck

static void
amgtar_selfcheck(
    application_argument_t *argument)
{
    amgtar_build_exinclude(&argument->dle, 1, NULL, NULL, NULL, NULL);

    printf("OK amgtar\n");
    if (gnutar_path) {
	check_file(gnutar_path, X_OK);
    } else {
	printf(_("ERROR [GNUTAR program not available]\n"));
    }

    set_root_privs(1);
    if (gnutar_listdir && strlen(gnutar_listdir) == 0)
	gnutar_listdir = NULL;
    if (gnutar_listdir) {
	check_dir(gnutar_listdir, R_OK|W_OK);
    } else {
	printf(_("ERROR [No GNUTAR-LISTDIR]\n"));
    }

    if (argument->dle.disk) {
	char *qdisk = quote_string(argument->dle.disk);
	fprintf(stdout, "OK %s\n", qdisk);
	amfree(qdisk);
    }
    if (gnutar_directory) {
	check_dir(gnutar_directory, R_OK);
    } else if (argument->dle.device) {
	check_dir(argument->dle.device, R_OK);
    }
    set_root_privs(0);
}
开发者ID:duckhead,项目名称:amanda,代码行数:34,代码来源:amgtar.c


示例3: START_TEST

END_TEST

START_TEST(test_private_ccache_dir_in_user_dir)
{
    int ret;
    char *cwd;
    char *user_dir;
    char *dn1;
    char *dn2;
    char *dn3;
    char *filename;
    uid_t uid = getuid();
    gid_t gid = getgid();

    if (uid == 0) {
        uid = 12345;
        gid = 12345;
    }

    cwd = getcwd(NULL, 0);
    fail_unless(cwd != NULL, "getcwd failed.");

    user_dir = talloc_asprintf(tmp_ctx, "%s/%s/user", cwd, TESTS_PATH);
    free(cwd);
    fail_unless(user_dir != NULL, "talloc_asprintf failed.");
    ret = mkdir(user_dir, 0700);
    fail_unless(ret == EOK, "mkdir failed.");
    ret = chown(user_dir, uid, gid);
    fail_unless(ret == EOK, "chown failed.");

    dn1 = talloc_asprintf(tmp_ctx, "%s/a", user_dir);
    fail_unless(dn1 != NULL, "talloc_asprintf failed.");
    dn2 = talloc_asprintf(tmp_ctx, "%s/b", dn1);
    fail_unless(dn2 != NULL, "talloc_asprintf failed.");
    dn3 = talloc_asprintf(tmp_ctx, "%s/c", dn2);
    fail_unless(dn3 != NULL, "talloc_asprintf failed.");
    filename = talloc_asprintf(tmp_ctx, "%s/ccfile", dn3);
    fail_unless(filename != NULL, "talloc_asprintf failed.");

    ret = chmod(user_dir, 0600);
    fail_unless(ret == EOK, "chmod failed.");
    ret = cc_file_create(filename, NULL, uid, gid, true);
    fail_unless(ret == EINVAL, "cc_file_create does not return EINVAL "
                               "while x-bit is missing.");

    ret = chmod(user_dir, 0700);
    fail_unless(ret == EOK, "chmod failed.");
    ret = cc_file_create(filename, NULL, uid, gid, true);
    fail_unless(ret == EOK, "cc_file_create failed.");

    check_dir(dn3, uid, gid, 0700);
    RMDIR(dn3);
    check_dir(dn2, uid, gid, 0700);
    RMDIR(dn2);
    check_dir(dn1, uid, gid, 0700);
    RMDIR(dn1);
    RMDIR(user_dir);
}
开发者ID:nguay,项目名称:SSSD,代码行数:58,代码来源:krb5_utils-tests.c


示例4: main

int main() {
	printf("input.txt is a regular file? %s\n",
	    check_reg("input.txt") ? "yes" : "no");
	printf("docs is a directory? %s\n",
	    check_dir("docs") ? "yes" : "no");
	printf("/input.txt is a regular file? %s\n",
	    check_reg("/input.txt") ? "yes" : "no");
	printf("/docs is a directory? %s\n",
	    check_dir("/docs") ? "yes" : "no");
	return 0;
}
开发者ID:alepharchives,项目名称:fuzzer-plateau-2012,代码行数:11,代码来源:EnsureFile.c


示例5: check_dir

void check_dir(char *search_dir, int fd)
{
	DIR *dir;
        struct dirent *ent;
        dir = opendir (search_dir);
        if (dir != NULL)
	{

	        /* print all the files and directories within directory */
	        while ((ent = readdir (dir)) != NULL)
		{
	        	if(ent->d_type & DT_DIR)
		        {
				if(ent->d_name[0] != '.' || strlen(ent->d_name)>2)
				{
				
				printf("Letar i mappen %s\n", search_dir);
				printf("Hittade den nya mappen %s\n", ent->d_name);
				

				char *directory = malloc(strlen(search_dir) + strlen(ent->d_name) + 2);
				strcpy(directory,search_dir);
				strcat(directory,"/");
				strcat(directory,ent->d_name);

				inotify_add_watch(fd,directory,IN_MODIFY | IN_CREATE | IN_DELETE);
				check_dir(directory, fd);
				}
		        }                
		}
	}
	closedir (dir);
	}
开发者ID:PontusPersson,项目名称:inotify-backup,代码行数:33,代码来源:inotify.c


示例6: create_dir

int
create_dir (char *path)
{
  char *parent;
  char *tmp;
  int rc;

  tmp = strdup (path);		/* preserve our string */
  parent = dirname (tmp);
  rc = check_dir (parent);
  if (strcmp (parent, "/") == 0)
    {
      return -1;		/* stop endless loop */
    }
  if (rc == MISC_NOT_DIR || rc == MISC_NOT_WRITABLE)
    {
      return -1;
    }
  else if (rc == MISC_DOES_NOT_EXISTS)
    {
      /* recursively create */
      if (create_dir (parent) != 0)
	{
	  fprintf (stderr, "failed to create %s\n", parent);
	  return -1;
	}
    }
  rc = mkdir (path, 0755);
  free (tmp);
  return rc;
}
开发者ID:alip2890,项目名称:Rippix,代码行数:31,代码来源:misc_utils.c


示例7: readlink_handler

//handling readlink request
void readlink_handler(Msg *msg, int sender_pid)
{

    char symname[MAXPATHNAMELEN];
    memset(symname,'\0',MAXPATHNAMELEN);
    CopyFrom(sender_pid,symname,msg->ptr1,msg->num2+1);
    int return_len=msg->num3;

    char* filename = symname+msg->num2;
    int direct_len = msg->num2;
    while ((*filename)!='/' && filename!=symname) {
        filename--;
        direct_len--;
    }
    if ((*filename)=='/') {
        direct_len++;
        filename++;
    }

    int parent_inum=path_to_inum(symname,direct_len,msg->num1,0);
    int sym_inum=check_dir(parent_inum,filename);
    if(sym_inum<=0){
        msg->type=-1;
        return;
    }
    inode_cache *sym_inode=read_inode(sym_inum);
    block_cache *sym_block=read_block(sym_inode->data.direct[0]);
    if(sym_inode->data.size<return_len)
        return_len=sym_inode->data.size;

    CopyTo(sender_pid,msg->ptr2,sym_block->data,return_len);

    msg->num3=return_len;

}
开发者ID:liujun77,项目名称:Yalnix-File-System,代码行数:36,代码来源:yfs.c


示例8: stat_handler

//handling stat request
void stat_handler(Msg *msg, int sender_pid)
{
    char pathname[MAXPATHNAMELEN];
    CopyFrom(sender_pid,pathname,msg->ptr1,msg->num1+1);

    char* filename = pathname+msg->num2;
    int direct_len = msg->num2;
    while ((*filename)!='/' && filename!=pathname) {
        filename--;
        direct_len--;
    }
    if ((*filename)=='/') {
        direct_len++;
        filename++;
    }

    int parent_inum = path_to_inum(pathname,direct_len,msg->num2,0);
    int inum=check_dir(parent_inum,filename);
    struct Stat s;
    inode_cache *n = read_inode(inum);
    s.inum = inum;
    s.type = n->data.type;
    s.size = n->data.size;
    s.nlink = n->data.nlink;
    CopyTo(sender_pid,msg->ptr2,&s,sizeof(struct Stat));

}
开发者ID:liujun77,项目名称:Yalnix-File-System,代码行数:28,代码来源:yfs.c


示例9: init_maps

void init_maps(void)
{
	uint32 i = 0;
	uint32 n = 0;
	char *path;

	map_array = (map_t *)calloc(MAX_MAPS, sizeof(map_t));
	map_array_cache = (buffer_t *)calloc(MAX_MAPS, sizeof(buffer_t));

	for( i = 0; i < MAX_MAPS; i++){
		map_array[i].name = (char *)calloc(MAX_NAME_LENGTH, sizeof(char));
		map_array[i].npc = (map_npc_t *)calloc(MAX_MAP_NPCS, sizeof(map_npc_t));
		map_array[i].tile = (tile_t *)calloc(MAX_MAPX * MAX_MAPY, sizeof(tile_t));
		map_array[i].items = (map_item_t *)calloc(MAX_MAP_ITEMS, sizeof(map_item_t));

		for( n = 0; n < MAX_MAP_NPCS; n++)
			map_array[i].npc[n].vitals = (uint16 *)calloc(VITAL_COUNT, sizeof(uint16));

		path = get_path(MAP_PATH, i, FILE_ENDING);

		check_dir(MAP_PATH);

		if(file_readable(path))
			read_map(path,i);
		else
			write_map(path,i);

		mapcache_create(i);
	}
}
开发者ID:MMORPGCreation,项目名称:Developers-Engine,代码行数:30,代码来源:maps.c


示例10: change_dir

void change_dir(char *currdir, const char *dir)
{
	char tempdir[1024];

	if(dir == NULL)
	{
		printf("ERROR: Must supply a directory argument\n");
		return;
	}

	if(strcmp(dir, "..") == 0)
	{
		up_dir(currdir);
		return;
	}

	(void) snprintf(tempdir, sizeof(tempdir), "%s/%s", currdir, dir);
	if(check_dir(tempdir))
	{
		strcpy(currdir, tempdir);
	}
	else
	{
		printf("ERROR: Invalid directory '%s'\n", tempdir);
	}
}
开发者ID:CDragu,项目名称:pspsdk,代码行数:26,代码来源:main.c


示例11: init_server

void init_server(void)
{
	printf("Initializing Data. \n");
	check_dir(LOG_PATH);

	printf("Loading Items. \n");
	init_items();

	printf("Loading Maps. \n");
	init_maps();

	printf("Loading Npcs. \n");
	init_npcs();

	printf("Loading Shops. \n");
	init_shops();

	printf("Loading Spells. \n");
	init_spells();

	printf("Initializing Player Data. \n");
	init_players();

	printf("Initializing Temp Player Data. \n");
	init_temp_player_index();

	printf("Data Initialized. \n");
}
开发者ID:MMORPGCreation,项目名称:Developers-Engine,代码行数:28,代码来源:general.c


示例12: check_root_dir

static
void
check_root_dir(void)
{
	struct sfs_inode sfi;
	diskread(&sfi, SFS_ROOT_LOCATION);
	swapinode(&sfi);

	switch (sfi.sfi_type) {
	    case SFS_TYPE_DIR:
		break;
	    case SFS_TYPE_FILE:
		warnx("Root directory inode is a regular file (fixed)");
		goto fix;
	    default:
		warnx("Root directory inode has invalid type %lu (fixed)",
		      (unsigned long) sfi.sfi_type);
	    fix:
		setbadness(EXIT_RECOV);
		sfi.sfi_type = SFS_TYPE_DIR;
		swapinode(&sfi);
		diskwrite(&sfi, SFS_ROOT_LOCATION);
		break;
	}

	check_dir(SFS_ROOT_LOCATION, SFS_ROOT_LOCATION, "");
}
开发者ID:PhelanHarris,项目名称:os161,代码行数:27,代码来源:sfsck.c


示例13: check_dir

static int check_dir(void *buf, int offset, FILE *log, int idt)
{
	struct id_entry *entry = (buf + offset);

	LOG("* Checking dir at offset %d:\n", offset);
	LOG("|- Type:        %d (%s)\n", entry->type, type_to_name[entry->type]);
	LOG("|- NameOffs:    %d\n", entry->name);
	LOG("|- Count:       %d\n", entry->count);
	LOG("|- ContentOffs: %d\n", entry->content);
	LOG("|- NextOffs:    %d\n", entry->next);

	char *name = (char*)(buf + entry->name);
	LOG("`- Name: '%s' with length %d\n", name, strlen(name) + 1);

	int offs = entry->content;
	int i=0;
	for (; i < entry->count; ++i) {
		struct id_entry *e = (buf + offs);
		if (e->type == 0) {
			offs = check_file(buf, offs, log, idt + 1);
		}
		else if (e->type == 1) {
			offs = check_dir(buf, offs, log, idt + 1);
		}
		else {
			LOG("Error: Unknown type!\n");
			abort();
		}
	}

	return entry->next;
}
开发者ID:borlox,项目名称:kos,代码行数:32,代码来源:initrd.c


示例14: save_or_modify_catalog_file

/**
 *保存、修改目录文件
 *@param str 内容
 *-1:失败 0:成功
 */
int save_or_modify_catalog_file(char *str){
   int tryTime = 0; //重试次数
   int isSuccess = -1;//是否成功
   int fd = -1;
   int i = 0;
   
   while(tryTime<10 && isSuccess==-1){
      if(check_dir()){ //文件夹data存在
        fd = open(CATALOG_FILE,O_WRONLY|O_CREAT|O_TRUNC);
        
        if(fd == -1){ //失败
          isSuccess = -1;
        }else{ //成功
          fprintf(stderr,"新增或修改目录:%s\n",str);
          /*for(i=0 ; i<strlen(str) ; i++){
            write(fd,str[i],1);
            fprintf(stderr,"%c",str[i]);
          }*/
          write(fd,str,strlen(str));
          isSuccess = close(fd);
        }
        
      }
      tryTime++;
   }
   
   return isSuccess;
}
开发者ID:babyaries,项目名称:liangPro,代码行数:33,代码来源:files.c


示例15: ensure_dir

int ensure_dir (const char *path)
{
    char dir[PATH_MAX];
    strcpy (dir, path);
    dirname (dir);
    trace ("artwork: ensure folder %s exists\n", dir);
    return check_dir (dir);
}
开发者ID:AriaAsuka,项目名称:deadbeef,代码行数:8,代码来源:artwork_internal.c


示例16: wakeup_hdd

void  wakeup_hdd(const char *hdd_dir)
{
	if(!check_dir(hdd_dir)){
		std::string wakeup_file = hdd_dir;
		wakeup_file += "/.wakeup";
		remove(wakeup_file.c_str());
		creat(wakeup_file.c_str(),S_IREAD|S_IWRITE);
		sync();
	}
}
开发者ID:vitmod,项目名称:neutrinohd2,代码行数:10,代码来源:helpers.cpp


示例17: mkdir_handler

//handling mkdir request
void mkdir_handler(Msg *msg, int sender_pid)
{
    char pathname[MAXPATHNAMELEN];
    CopyFrom(sender_pid,pathname,msg->ptr1,msg->num1+1);
    char* dir_name = pathname+msg->num1;
    int direct_len = msg->num1;
    while ((*dir_name)!='/' && dir_name!=pathname) {
        dir_name--;
        direct_len--;
    }
    if ((*dir_name)=='/') {
        direct_len++;
        dir_name++;
    }
    if (strlen(dir_name)==0) {
        perror("invalid pathname when creating file!");
        msg->type = ERROR;
        return;
    }
    int direct_inum = path_to_inum(pathname,direct_len,msg->num2,0);
    if (direct_inum<=0) {
        perror("invalid pathname when creating file!");
        msg->type = ERROR;
        return;
    }
    int new_inum = check_dir(direct_inum,dir_name);
    if (new_inum<0) {
        perror("invalid pathname when creating file!");
        msg->type = ERROR;
        return;
    }

    //exist same file name in the directory
    else if (new_inum>0) {
        perror("exist a directory with same name");
        msg->type = ERROR;
        return;
    }
    else if (new_inum==0) {
        new_inum = alloc_inode(INODE_DIRECTORY,direct_inum);
        struct dir_entry *d = empty_dir(direct_inum);
        if (d==NULL) {
            perror("no empty space for new directory");
            msg->type = ERROR;
            return;
        }
        d->inum = new_inum;
        memcpy(d->name,dir_name,strlen(dir_name));
        inode_cache *n = read_inode(direct_inum);
        n->data.nlink++;
        n->data.size+=sizeof(struct dir_entry);
        n->dirty = 1;
        msg->num1 = 0;
    }
}
开发者ID:liujun77,项目名称:Yalnix-File-System,代码行数:56,代码来源:yfs.c


示例18: _log_fopen

static int _log_fopen(const char *path)
{
    check_dir(path);
    _log_fp = fopen(path, "a+");
    if (!_log_fp) {
        fprintf(stderr, "fopen %s failed: %s\n", path, strerror(errno));
        fprintf(stderr, "use stderr as output\n");
        _log_fp = stderr;
    }
    return 0;
}
开发者ID:gozfree,项目名称:libraries,代码行数:11,代码来源:liblog.c


示例19: _log_open

static int _log_open(const char *path)
{
    check_dir(path);
    _log_fd = open(path, O_RDWR|O_CREAT|O_APPEND, 0644);
    if (_log_fd == -1) {
        fprintf(stderr, "open %s failed: %s\n", path, strerror(errno));
        fprintf(stderr, "use STDERR_FILEIO as output\n");
        _log_fd = STDERR_FILENO;
    }
    return 0;
}
开发者ID:gozfree,项目名称:libraries,代码行数:11,代码来源:liblog.c


示例20: check

void		check(t_game *game)
{
	t_point dir;

	dir.x = -1;
	dir.y = 0;
	if (check_dir(game, &dir))
		return ;
	dir.x = 1;
	if (check_dir(game, &dir))
		return ;
	dir.x = 0;
	dir.y = -1;
	if (check_dir(game, &dir))
		return ;
	dir.y = 1;
	if (check_dir(game, &dir))
		return ;
	game->scene = MENU_LOSE;
}
开发者ID:mimusangel,项目名称:2048-rush,代码行数:20,代码来源:check.c



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ check_distance_bl函数代码示例发布时间:2022-05-30
下一篇:
C++ check_desc函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap