From bb1a0adec75a1e3156e83e40008136c592cdd6da Mon Sep 17 00:00:00 2001 From: Tim Kourt Date: Tue, 24 Jul 2018 16:17:19 -0700 Subject: [PATCH] client: introduce proxy property utils All of the shared functions related to the processing of the proxy properties will reside in this collection. --- Makefile.am | 4 +++- client/properties.c | 51 +++++++++++++++++++++++++++++++++++++++++++++ client/properties.h | 23 ++++++++++++++++++++ 3 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 client/properties.c create mode 100644 client/properties.h diff --git a/Makefile.am b/Makefile.am index 851e8323..a938512b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -137,6 +137,7 @@ client_iwctl_SOURCES = client/main.c \ client/display.h client/display.c \ client/known-networks.c \ client/network.h client/network.c \ + client/properties.h client/properties.c \ client/wsc.c client_iwctl_LDADD = ell/libell-internal.la -lreadline endif @@ -296,7 +297,8 @@ unit_test_client_SOURCES = unit/test-client.c \ client/command.h client/command.c \ client/dbus-proxy.h client/dbus-proxy.c \ client/display.h client/display.c \ - client/network.h client/network.c + client/network.h client/network.c \ + client/properties.h client/properties.c unit_test_client_LDADD = ell/libell-internal.la -lreadline unit_test_ecc_SOURCES = unit/test-ecc.c src/ecc.c src/ecc.h diff --git a/client/properties.c b/client/properties.c new file mode 100644 index 00000000..ff96e6cd --- /dev/null +++ b/client/properties.c @@ -0,0 +1,51 @@ +/* + * + * Wireless daemon for Linux + * + * Copyright (C) 2018 Intel Corporation. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include + +#include "properties.h" + +bool properties_parse_args(char *args, char **name, char **value) +{ + char **arg_arr; + + if (!args) + return false; + + arg_arr = l_strsplit(args, ' '); + + if (!arg_arr || !arg_arr[0] || !arg_arr[1]) { + l_strfreev(arg_arr); + return false; + } + + *name = l_strdup(arg_arr[0]); + *value = l_strdup(arg_arr[1]); + + l_strfreev(arg_arr); + + return true; +} diff --git a/client/properties.h b/client/properties.h new file mode 100644 index 00000000..24b2d52d --- /dev/null +++ b/client/properties.h @@ -0,0 +1,23 @@ +/* + * + * Wireless daemon for Linux + * + * Copyright (C) 2018 Intel Corporation. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +bool properties_parse_args(char *args, char **name, char **value);