diff options
author | Simo Sorce <idra@samba.org> | 2008-12-22 18:10:47 -0500 |
---|---|---|
committer | Simo Sorce <idra@samba.org> | 2008-12-22 18:52:47 -0500 |
commit | a93a69380dc6718c49879af628ed69f8e2b70797 (patch) | |
tree | 932359f1f8f75ade8437d7070e3feb1ffbac5898 /events/events_util.c | |
parent | 9e1e585aa2740bd55bd60d965bd6c271ee9caa2e (diff) | |
download | sssd-a93a69380dc6718c49879af628ed69f8e2b70797.tar.gz sssd-a93a69380dc6718c49879af628ed69f8e2b70797.tar.bz2 sssd-a93a69380dc6718c49879af628ed69f8e2b70797.zip |
rebase events to tevent and align to upstream
Diffstat (limited to 'events/events_util.c')
-rw-r--r-- | events/events_util.c | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/events/events_util.c b/events/events_util.c deleted file mode 100644 index 93f64925..00000000 --- a/events/events_util.c +++ /dev/null @@ -1,85 +0,0 @@ -/* - Unix SMB/CIFS implementation. - - Copyright (C) Andrew Tridgell 2005 - Copyright (C) Jelmer Vernooij 2005 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include "replace.h" -#include "talloc.h" -#include "events.h" -#include "events_internal.h" -#include <fcntl.h> - -/** - return the number of elements in a string list -*/ -static size_t str_list_length(const char **list) -{ - size_t ret; - for (ret=0;list && list[ret];ret++) /* noop */ ; - return ret; -} - -/** - add an entry to a string list -*/ -const char **ev_str_list_add(const char **list, const char *s) -{ - size_t len = str_list_length(list); - const char **ret; - - ret = talloc_realloc(NULL, list, const char *, len+2); - if (ret == NULL) return NULL; - - ret[len] = talloc_strdup(ret, s); - if (ret[len] == NULL) return NULL; - - ret[len+1] = NULL; - - return ret; -} - - -/** - Set a fd into blocking/nonblocking mode. Uses POSIX O_NONBLOCK if available, - else - if SYSV use O_NDELAY - if BSD use FNDELAY -**/ - -int ev_set_blocking(int fd, bool set) -{ - int val; -#ifdef O_NONBLOCK -#define FLAG_TO_SET O_NONBLOCK -#else -#ifdef SYSV -#define FLAG_TO_SET O_NDELAY -#else /* BSD */ -#define FLAG_TO_SET FNDELAY -#endif -#endif - - if((val = fcntl(fd, F_GETFL, 0)) == -1) - return -1; - if(set) /* Turn blocking on - ie. clear nonblock flag */ - val &= ~FLAG_TO_SET; - else - val |= FLAG_TO_SET; - return fcntl( fd, F_SETFL, val); -#undef FLAG_TO_SET -} |