chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
manager: merge /etc/xdg/systemd/session and /etc/systemd/session
[elogind.git]
/
util.c
diff --git
a/util.c
b/util.c
index 8556ea12cd153d6899f3b98a8cc803e80b61f401..f5f1b3a45e642655217be276d8c7700c058c88a4 100644
(file)
--- a/
util.c
+++ b/
util.c
@@
-42,6
+42,7
@@
#include <sys/inotify.h>
#include <sys/poll.h>
#include <libgen.h>
#include <sys/inotify.h>
#include <sys/poll.h>
#include <libgen.h>
+#include <ctype.h>
#include "macro.h"
#include "util.h"
#include "macro.h"
#include "util.h"
@@
-141,6
+142,30
@@
bool startswith(const char *s, const char *prefix) {
return memcmp(s, prefix, pl) == 0;
}
return memcmp(s, prefix, pl) == 0;
}
+bool startswith_no_case(const char *s, const char *prefix) {
+ size_t sl, pl;
+ unsigned i;
+
+ assert(s);
+ assert(prefix);
+
+ sl = strlen(s);
+ pl = strlen(prefix);
+
+ if (pl == 0)
+ return true;
+
+ if (sl < pl)
+ return false;
+
+ for(i = 0; i < pl; ++i) {
+ if (tolower(s[i]) != tolower(prefix[i]))
+ return false;
+ }
+
+ return true;
+}
+
bool first_word(const char *s, const char *word) {
size_t sl, wl;
bool first_word(const char *s, const char *word) {
size_t sl, wl;
@@
-1199,6
+1224,7
@@
bool ignore_file(const char *filename) {
return
filename[0] == '.' ||
return
filename[0] == '.' ||
+ streq(filename, "lost+found") ||
endswith(filename, "~") ||
endswith(filename, ".rpmnew") ||
endswith(filename, ".rpmsave") ||
endswith(filename, "~") ||
endswith(filename, ".rpmnew") ||
endswith(filename, ".rpmsave") ||
@@
-1571,7
+1597,7
@@
int flush_fd(int fd) {
}
int acquire_terminal(const char *name, bool fail, bool force) {
}
int acquire_terminal(const char *name, bool fail, bool force) {
- int fd = -1, notify = -1, r, wd;
+ int fd = -1, notify = -1, r, wd
= -1
;
assert(name);
assert(name);