aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ftutil.h
blob: 09c1104e59014bf2253d2fa81a0ff07296131995 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/***************************************************************************\
*                                                                           *
*  BitlBee - An IRC to IM gateway                                           *
*  Utility functions for file transfer                                      *
*                                                                           *
*  Copyright 2008 Uli Meis <a.sporto+bee@gmail.com>                         *
*                                                                           *
*  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 2 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, write to the Free Software Foundation, Inc.,  *
*  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.              *
*                                                                           *
\***************************************************************************/

#ifndef AI_NUMERICSERV
#define AI_NUMERICSERV 0x0400   /* Don't use name resolution.  */
#endif

/* Some ifdefs for ulibc and apparently also BSD (Thanks to Whoopie) */
#ifndef HOST_NAME_MAX
#include <sys/param.h>
#ifdef MAXHOSTNAMELEN
#define HOST_NAME_MAX MAXHOSTNAMELEN
#else
#define HOST_NAME_MAX 255
#endif
#endif

/* This function should be used with care. host should be AT LEAST a
   char[HOST_NAME_MAX+1] and port AT LEAST a char[6]. */
int ft_listen( struct sockaddr_storage *saddr_ptr, char *host, char *port, int copy_fd, int for_bitlbee_client, char **errptr );
="s">"name", "default", NULL, data); fail_unless(s == t); fail_unless(t->data == data); fail_unless(strcmp(t->def, "default") == 0); END_TEST START_TEST(test_set_add_existing) void *data = "data"; set_t *s = NULL, *t; t = set_add(&s, "name", "default", NULL, data); t = set_add(&s, "name", "newdefault", NULL, data); fail_unless(s == t); fail_unless(strcmp(t->def, "newdefault") == 0); END_TEST START_TEST(test_set_find_unknown) set_t *s = NULL, *t; fail_unless (set_find(&s, "foo") == NULL); END_TEST START_TEST(test_set_find) void *data = "data"; set_t *s = NULL, *t; t = set_add(&s, "name", "default", NULL, data); fail_unless(s == t); fail_unless(set_find(&s, "name") == t); END_TEST START_TEST(test_set_get_str_default) void *data = "data"; set_t *s = NULL, *t; t = set_add(&s, "name", "default", NULL, data); fail_unless(s == t); fail_unless(strcmp(set_getstr(&s, "name"), "default") == 0); END_TEST START_TEST(test_set_get_bool_default) void *data = "data"; set_t *s = NULL, *t; t = set_add(&s, "name", "true", NULL, data); fail_unless(s == t); fail_unless(set_getbool(&s, "name")); END_TEST START_TEST(test_set_get_bool_integer) void *data = "data"; set_t *s = NULL, *t; t = set_add(&s, "name", "3", NULL, data); fail_unless(s == t); fail_unless(set_getbool(&s, "name") == 3); END_TEST START_TEST(test_set_get_bool_unknown) set_t *s = NULL; fail_unless(set_getbool(&s, "name") == 0); END_TEST START_TEST(test_set_get_str_value) void *data = "data"; set_t *s = NULL, *t; t = set_add(&s, "name", "default", NULL, data); set_setstr(&s, "name", "foo"); fail_unless(strcmp(set_getstr(&s, "name"), "foo") == 0); END_TEST START_TEST(test_set_get_str_unknown) set_t *s = NULL; fail_unless(set_getstr(&s, "name") == NULL); END_TEST START_TEST(test_setint) void *data = "data"; set_t *s = NULL, *t; t = set_add(&s, "name", "10", NULL, data); set_setint(&s, "name", 3); fail_unless(set_getint(&s, "name") == 3); END_TEST START_TEST(test_setstr) void *data = "data"; set_t *s = NULL, *t; t = set_add(&s, "name", "foo", NULL, data); set_setstr(&s, "name", "bloe"); fail_unless(strcmp(set_getstr(&s, "name"), "bloe") == 0); END_TEST START_TEST(test_set_get_int_unknown) set_t *s = NULL; fail_unless(set_getint(&s, "foo") == 0); END_TEST Suite *set_suite (void) { Suite *s = suite_create("Set"); TCase *tc_core = tcase_create("Core"); suite_add_tcase (s, tc_core); tcase_add_test (tc_core, test_set_add); tcase_add_test (tc_core, test_set_add_existing); tcase_add_test (tc_core, test_set_find_unknown); tcase_add_test (tc_core, test_set_find); tcase_add_test (tc_core, test_set_get_str_default); tcase_add_test (tc_core, test_set_get_str_value); tcase_add_test (tc_core, test_set_get_str_unknown); tcase_add_test (tc_core, test_set_get_bool_default); tcase_add_test (tc_core, test_set_get_bool_integer); tcase_add_test (tc_core, test_set_get_bool_unknown); tcase_add_test (tc_core, test_set_get_int_unknown); tcase_add_test (tc_core, test_setint); tcase_add_test (tc_core, test_setstr); return s; }