git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@45949
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
EAPI char *eina_str_convert(const char *enc_from, const char *enc_to, const char *text);
+EAPI char *eina_str_escape(const char *str);
+
/**
* @brief Join two strings of known length.
return NULL;
#endif
}
+
+/**
+ * @brief Put a \ before and Space( ), \ or ' in a string.
+ *
+ * @param str the string to escape
+ *
+ * A newly allocated string is returned.
+ */
+EAPI char *
+eina_str_escape(const char *str)
+{
+ char *s2, *d;
+ const char *s;
+
+ s2 = malloc((strlen(str) * 2) + 1);
+ if (!s2) return NULL;
+ for (s = str, d = s2; *s != 0; s++, d++)
+ {
+ if ((*s == ' ') || (*s == '\\') || (*s == '\''))
+ {
+ *d = '\\';
+ d++;
+ }
+ *d = *s;
+ }
+ *d = 0;
+ return s2;
+}