summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2017-10-03 19:58:27 +0200
committerDaniel Friesel <derf@finalrewind.org>2017-10-03 19:58:27 +0200
commitde36c62308fb982f9794db87a856fa6aae042ce6 (patch)
tree54969d668b47aa15602511f5d3b5a2fd7fb9dc8c
parent4342eab3c36ed87085fedf87bd0641889051c388 (diff)
Make shell_escape available as a generic utility function
-rw-r--r--src/slideshow.c23
-rw-r--r--src/utils.c23
-rw-r--r--src/utils.h1
3 files changed, 24 insertions, 23 deletions
diff --git a/src/slideshow.c b/src/slideshow.c
index 4a71dc3..db389d5 100644
--- a/src/slideshow.c
+++ b/src/slideshow.c
@@ -464,29 +464,6 @@ void feh_action_run(feh_file * file, char *action, winwidget winwid)
return;
}
-char *shell_escape(char *input)
-{
- static char ret[1024];
- unsigned int out = 0, in = 0;
-
- ret[out++] = '\'';
- for (in = 0; input[in] && (out < (sizeof(ret) - 7)); in++) {
- if (input[in] == '\'') {
- ret[out++] = '\'';
- ret[out++] = '"';
- ret[out++] = '\'';
- ret[out++] = '"';
- ret[out++] = '\'';
- }
- else
- ret[out++] = input[in];
- }
- ret[out++] = '\'';
- ret[out++] = '\0';
-
- return ret;
-}
-
char *format_size(int size)
{
static char ret[5];
diff --git a/src/utils.c b/src/utils.c
index dfae909..ec30d4a 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -201,3 +201,26 @@ char *ereadfile(char *path)
return estrdup(buffer);
}
+
+char *shell_escape(char *input)
+{
+ static char ret[1024];
+ unsigned int out = 0, in = 0;
+
+ ret[out++] = '\'';
+ for (in = 0; input[in] && (out < (sizeof(ret) - 7)); in++) {
+ if (input[in] == '\'') {
+ ret[out++] = '\'';
+ ret[out++] = '"';
+ ret[out++] = '\'';
+ ret[out++] = '"';
+ ret[out++] = '\'';
+ }
+ else
+ ret[out++] = input[in];
+ }
+ ret[out++] = '\'';
+ ret[out++] = '\0';
+
+ return ret;
+}
diff --git a/src/utils.h b/src/utils.h
index c0d243b..22cbbf8 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -46,6 +46,7 @@ char *estrjoin(const char *separator, ...);
char path_is_url(char *path);
char *feh_unique_filename(char *path, char *basename);
char *ereadfile(char *path);
+char *shell_escape(char *input);
#define ESTRAPPEND(a,b) \
{\