Relocate and export sanitize() function

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
Joachim Nilsson committed 2017-01-15 23:06:45 +01:00
1 parent 618744cc52
commit 698f736b65
3 files changed
+26 -23

No files matched your search

-23
View File
@@ -22,7 +22,6 @@
*/ */
#include <errno.h> #include <errno.h>
#include <ctype.h>
#include <fcntl.h> #include <fcntl.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@@ -44,28 +43,6 @@
uev_t api_watcher; uev_t api_watcher;
/* Allowed characters in job/id/name */
static int isallowed(int ch)
{
return isprint(ch);
}
/* Sanitize user input, make sure to NUL terminate. */
static char *sanitize(char *arg, size_t len)
{
size_t i = 0;
while (isallowed(arg[i]) && i < len)
i++;
if (i + 1 < len) {
arg[i + 1] = 0;
return arg;
}
return NULL;
}
static int call(int (*action)(svc_t *), char *buf, size_t len) static int call(int (*action)(svc_t *), char *buf, size_t len)
{ {
int result = 0; int result = 0;
+25
View File
@@ -21,6 +21,7 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
#include <ctype.h> /* isprint() */
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
@@ -43,6 +44,30 @@ void do_sleep(unsigned int sec)
; ;
} }
/* Allowed characters in job/id/name */
static int isallowed(int ch)
{
return isprint(ch);
}
/* Sanitize user input, make sure to NUL terminate. */
char *sanitize(char *arg, size_t len)
{
size_t i = 0;
while (isallowed(arg[i]) && i < len)
i++;
if (i + 1 < len) {
arg[i + 1] = 0;
return arg;
}
if (i > 1 && arg[i] == 0)
return arg;
return NULL;
}
/** /**
* Local Variables: * Local Variables:
+1
View File
@@ -28,6 +28,7 @@ extern char *prognm;
char *progname(char *arg0); char *progname(char *arg0);
void do_sleep(unsigned int sec); void do_sleep(unsigned int sec);
char *sanitize(char *arg, size_t len);
#endif /* FINIT_UTIL_H_ */ #endif /* FINIT_UTIL_H_ */