Lines Matching refs:file

228 int tinydir_readfile(const tinydir_dir *dir, tinydir_file *file);
230 int tinydir_readfile_n(const tinydir_dir *dir, tinydir_file *file, size_t i);
235 int tinydir_file_open(tinydir_file *file, const _tinydir_char_t *path);
237 void _tinydir_get_ext(tinydir_file *file);
313 /* read first file */
485 int tinydir_readfile(const tinydir_dir *dir, tinydir_file *file)
487 if (dir == NULL || file == NULL)
511 /* the path for the file will be too long */
527 _tinydir_strcpy(file->path, dir->path);
528 _tinydir_strcat(file->path, TINYDIR_STRING("/"));
529 _tinydir_strcpy(file->name,
536 _tinydir_strcat(file->path, file->name);
543 file->path, &file->_s) == -1)
548 _tinydir_get_ext(file);
550 file->is_dir =
554 S_ISDIR(file->_s.st_mode);
556 file->is_reg =
572 S_ISREG(file->_s.st_mode);
579 int tinydir_readfile_n(const tinydir_dir *dir, tinydir_file *file, size_t i)
581 if (dir == NULL || file == NULL)
592 memcpy(file, &dir->_files[i], sizeof(tinydir_file));
593 _tinydir_get_ext(file);
623 /* Open a single file given its path */
625 int tinydir_file_open(tinydir_file *file, const _tinydir_char_t *path)
639 if (file == NULL || path == NULL || _tinydir_strlen(path) == 0)
690 /* Concatenate the file name and extension to form base name */
706 /* Read through the parent directory and look for the file */
709 if (tinydir_readfile(&dir, file) == -1)
714 if (_tinydir_strcmp(file->name, base_name) == 0)
734 void _tinydir_get_ext(tinydir_file *file)
736 _tinydir_char_t *period = _tinydir_strrchr(file->name, TINYDIR_STRING('.'));
739 file->extension = &(file->name[_tinydir_strlen(file->name)]);
743 file->extension = period + 1;