-int kernel_release_satisfactory(unsigned int version, unsigned int patchlevel, unsigned int sublevel)
-{
- static unsigned int kversion = 0;
- static unsigned int kpatchlevel;
- static unsigned int ksublevel;
-
- if (kversion == 0) {
- struct utsname uts;
- if (uname(&uts) != 0)
- return -1;
-
- if (sscanf (uts.release, "%u.%u.%u", &kversion, &kpatchlevel, &ksublevel) != 3) {
- kversion = 0;
- return -1;
- }
- }
-
- if (kversion >= version && kpatchlevel >= patchlevel && ksublevel >= sublevel)
- return 1;
- else
- return 0;
-}
-
-void replace_untrusted_chars(char *string)
-{
- size_t len;
-
- for (len = 0; string[len] != '\0'; len++) {
- if (strchr(";,~\\()\'", string[len])) {
- info("replace '%c' in '%s'", string[len], string);
- string[len] = '_';
- }
- }
-}
-
-void remove_trailing_char(char *path, char c)
-{
- size_t len;
-
- len = strlen(path);
- while (len > 0 && path[len-1] == c)
- path[--len] = '\0';
-}
-
-int name_list_add(struct list_head *name_list, const char *name, int sort)