develop.uap-core.de/git
/
uwplayer.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix dnd added empty file path to the playlist
[uwplayer.git]
/
application
/
utils.c
diff --git
a/application/utils.c
b/application/utils.c
index
7d123e3
..
5d18fdb
100644
(file)
--- a/
application/utils.c
+++ b/
application/utils.c
@@
-30,16
+30,16
@@
#include <dirent.h>
#include <errno.h>
#include <dirent.h>
#include <errno.h>
-#include <
u
cx/string.h>
+#include <cx/string.h>
char* util_concat_path(const char *url_base, const char *p) {
char* util_concat_path(const char *url_base, const char *p) {
-
sstr_t base = sstr((char*)
url_base);
-
sstr_t
path;
+
cxstring base = cx_str(
url_base);
+
cxstring
path;
if(p) {
if(p) {
- path =
sstr((char*)
p);
+ path =
cx_str(
p);
} else {
} else {
- path =
s
strn("", 0);
+ path =
cx_
strn("", 0);
}
int add_separator = 0;
}
int add_separator = 0;
@@
-53,22
+53,25
@@
char* util_concat_path(const char *url_base, const char *p) {
}
}
}
}
-
sstr_t
url;
+
cxmutstr
url;
if(add_separator) {
if(add_separator) {
- url =
sstrcat(3, base, sstr("/"
), path);
+ url =
cx_strcat(3, base, cx_strn("/", 1
), path);
} else {
} else {
- url =
s
strcat(2, base, path);
+ url =
cx_
strcat(2, base, path);
}
return url.ptr;
}
}
return url.ptr;
}
-char* util_resource_name(char *url) {
- sstr_t urlstr = sstr(url);
+const char* util_resource_name(const char *url) {
+ cxstring urlstr = cx_str(url);
+ if(urlstr.length == 0) {
+ return url;
+ }
if(urlstr.ptr[urlstr.length-1] == '/') {
urlstr.length--;
}
if(urlstr.ptr[urlstr.length-1] == '/') {
urlstr.length--;
}
-
sstr_t resname = s
strrchr(urlstr, '/');
+
cxstring resname = cx_
strrchr(urlstr, '/');
if(resname.length > 1) {
return resname.ptr+1;
} else {
if(resname.length > 1) {
return resname.ptr+1;
} else {
@@
-77,7
+80,7
@@
char* util_resource_name(char *url) {
}
char* util_parent_path(const char *path) {
}
char* util_parent_path(const char *path) {
- c
har *name = util_resource_name((char*)
path);
+ c
onst char *name = util_resource_name(
path);
size_t namelen = strlen(name);
size_t pathlen = strlen(path);
size_t parentlen = pathlen - namelen;
size_t namelen = strlen(name);
size_t pathlen = strlen(path);
size_t parentlen = pathlen - namelen;
@@
-91,9
+94,16
@@
char* util_parent_path(const char *path) {
typedef int (*cmpfnc)(const void *, const void *);
typedef int (*cmpfnc)(const void *, const void *);
+int fcmp(const void *d1, const void *d2) {
+ const char **f1 = (const char **)d1;
+ const char **f2 = (const char **)d2;
+ int r = strcmp(*f1, *f2);
+ return r;
+}
+
char* util_find_next_file(char *current_file) {
char *current_folder = util_parent_path(current_file);
char* util_find_next_file(char *current_file) {
char *current_folder = util_parent_path(current_file);
- char *current_file_name = util_resource_name(current_file);
+ c
onst c
har *current_file_name = util_resource_name(current_file);
DIR *dir = opendir(current_folder);
if(!dir) {
fprintf(stderr, "Error: Cannot open directory '%s': %s\n", current_folder, strerror(errno));
DIR *dir = opendir(current_folder);
if(!dir) {
fprintf(stderr, "Error: Cannot open directory '%s': %s\n", current_folder, strerror(errno));
@@
-143,9
+153,10
@@
char* util_find_next_file(char *current_file) {
char *result = NULL;
if(!abort) {
char *result = NULL;
if(!abort) {
- qsort(files, nfiles, sizeof(char*),
(cmpfnc)str
cmp);
+ qsort(files, nfiles, sizeof(char*),
f
cmp);
// search array for current file and return the successor
for(int i=0;i<nfiles;i++) {
// search array for current file and return the successor
for(int i=0;i<nfiles;i++) {
+ char *c = files[i];
if(!strcmp(files[i], current_file_name)) {
if(i + 1 < nfiles) {
result = util_concat_path(current_folder, files[i+1]);
if(!strcmp(files[i], current_file_name)) {
if(i + 1 < nfiles) {
result = util_concat_path(current_folder, files[i+1]);