Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
8b83104e
Commit
8b83104e
authored
Nov 05, 2015
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
directory: (mostly) cosmetic changes
parent
f94fadda
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
45 additions
and
48 deletions
+45
-48
modules/access/directory.c
modules/access/directory.c
+44
-48
modules/access/fs.c
modules/access/fs.c
+1
-0
No files found.
modules/access/directory.c
View file @
8b83104e
...
...
@@ -43,88 +43,85 @@
struct
access_sys_t
{
char
*
psz_
base_uri
;
DIR
*
p_
dir
;
char
*
base_uri
;
DIR
*
dir
;
};
/*****************************************************************************
* DirInit: Init the directory access with a directory stream
*****************************************************************************/
int
DirInit
(
access_t
*
p_access
,
DIR
*
p_
dir
)
int
DirInit
(
access_t
*
access
,
DIR
*
dir
)
{
char
*
psz_base_uri
;
access_sys_t
*
sys
=
malloc
(
sizeof
(
*
sys
));
if
(
unlikely
(
sys
==
NULL
))
goto
error
;
if
(
!
strcmp
(
p_
access
->
psz_access
,
"fd"
))
if
(
!
strcmp
(
access
->
psz_access
,
"fd"
))
{
if
(
asprintf
(
&
psz_base_uri
,
"fd://%s"
,
p_access
->
psz_location
)
==
-
1
)
psz_base_uri
=
NULL
;
if
(
unlikely
(
asprintf
(
&
sys
->
base_uri
,
"fd://%s"
,
access
->
psz_location
)
==
-
1
))
sys
->
base_uri
=
NULL
;
}
else
psz_base_uri
=
vlc_path2uri
(
p_access
->
psz_filepath
,
"file"
);
if
(
unlikely
(
psz_base_uri
==
NULL
))
{
closedir
(
p_dir
);
return
VLC_ENOMEM
;
}
sys
->
base_uri
=
vlc_path2uri
(
access
->
psz_filepath
,
"file"
);
if
(
unlikely
(
sys
->
base_uri
==
NULL
))
goto
error
;
p_access
->
p_sys
=
calloc
(
1
,
sizeof
(
access_sys_t
));
if
(
!
p_access
->
p_sys
)
{
closedir
(
p_dir
);
free
(
psz_base_uri
);
return
VLC_ENOMEM
;
}
p_access
->
p_sys
->
p_dir
=
p_dir
;
p_access
->
p_sys
->
psz_base_uri
=
psz_base_uri
;
p_access
->
pf_readdir
=
DirRead
;
p_access
->
pf_control
=
access_vaDirectoryControlHelper
;
sys
->
dir
=
dir
;
access
->
p_sys
=
sys
;
access
->
pf_readdir
=
DirRead
;
access
->
pf_control
=
access_vaDirectoryControlHelper
;
return
VLC_SUCCESS
;
error:
closedir
(
dir
);
free
(
sys
);
return
VLC_ENOMEM
;
}
/*****************************************************************************
* DirOpen: Open the directory access
*****************************************************************************/
int
DirOpen
(
vlc_object_t
*
p_this
)
int
DirOpen
(
vlc_object_t
*
obj
)
{
access_t
*
access
=
(
access_t
*
)
p_this
;
access_t
*
access
=
(
access_t
*
)
obj
;
if
(
access
->
psz_filepath
==
NULL
)
return
VLC_EGENERIC
;
DIR
*
dir
=
vlc_opendir
(
access
->
psz_filepath
);
DIR
*
dir
=
vlc_opendir
(
access
->
psz_filepath
);
if
(
dir
==
NULL
)
return
VLC_EGENERIC
;
return
DirInit
(
access
,
dir
);
return
DirInit
(
access
,
dir
);
}
/*****************************************************************************
* Close: close the target
*****************************************************************************/
void
DirClose
(
vlc_object_t
*
p_this
)
void
DirClose
(
vlc_object_t
*
obj
)
{
access_t
*
p_access
=
(
access_t
*
)
p_this
;
access_sys_t
*
p_sys
=
p_access
->
p_sys
;
free
(
p_sys
->
psz_base_uri
);
closedir
(
p_sys
->
p_dir
);
access_t
*
access
=
(
access_t
*
)
obj
;
access_sys_t
*
sys
=
access
->
p_sys
;
free
(
p_sys
);
free
(
sys
->
base_uri
);
closedir
(
sys
->
dir
);
free
(
sys
);
}
input_item_t
*
DirRead
(
access_t
*
p_
access
)
input_item_t
*
DirRead
(
access_t
*
access
)
{
access_sys_t
*
p_sys
=
p_
access
->
p_sys
;
access_sys_t
*
sys
=
access
->
p_sys
;
const
char
*
entry
;
while
((
entry
=
vlc_readdir
(
p_sys
->
p_
dir
))
!=
NULL
)
while
((
entry
=
vlc_readdir
(
sys
->
dir
))
!=
NULL
)
{
int
type
;
#ifdef HAVE_OPENAT
struct
stat
st
;
if
(
fstatat
(
dirfd
(
p_sys
->
p_
dir
),
entry
,
&
st
,
0
))
if
(
fstatat
(
dirfd
(
sys
->
dir
),
entry
,
&
st
,
0
))
continue
;
switch
(
st
.
st_mode
&
S_IFMT
)
...
...
@@ -143,21 +140,20 @@ input_item_t* DirRead (access_t *p_access)
#endif
/* Create an input item for the current entry */
char
*
encoded
_entry
=
encode_URI_component
(
entry
);
char
*
encoded
=
encode_URI_component
(
entry
);
if
(
unlikely
(
entry
==
NULL
))
return
NULL
;
continue
;
char
*
uri
;
if
(
unlikely
(
asprintf
(
&
uri
,
"%s/%s"
,
p_sys
->
psz_base_uri
,
encoded_entry
)
==
-
1
))
if
(
unlikely
(
asprintf
(
&
uri
,
"%s/%s"
,
sys
->
base_uri
,
encoded
)
==
-
1
))
uri
=
NULL
;
free
(
encoded_entry
);
free
(
encoded
);
if
(
unlikely
(
uri
==
NULL
))
return
NULL
;
continue
;
input_item_t
*
item
=
input_item_NewWithType
(
uri
,
entry
,
0
,
NULL
,
0
,
0
,
type
);
free
(
uri
);
input_item_t
*
item
=
input_item_NewWithType
(
uri
,
entry
,
0
,
NULL
,
0
,
0
,
type
);
free
(
uri
);
if
(
likely
(
item
!=
NULL
))
return
item
;
}
...
...
modules/access/fs.c
View file @
8b83104e
...
...
@@ -49,4 +49,5 @@ vlc_module_begin ()
add_shortcut
(
"directory"
,
"dir"
)
#endif
set_callbacks
(
DirOpen
,
DirClose
)
vlc_module_end
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment