diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2006-04-25 15:27:08 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2006-04-25 15:27:08 +0000 |
commit | 428e541c1dbe709fae8b40e7fed7b8ed6d2fb087 (patch) | |
tree | b4487436709f0d2e666714a0e276c8e39a0b4487 /hcid | |
parent | 806640b12ffdba3dd6ad9a3b98196837d01c2b7f (diff) |
Remove unneeded functions
Diffstat (limited to 'hcid')
-rw-r--r-- | hcid/Makefile.am | 2 | ||||
-rw-r--r-- | hcid/hcid.h | 2 | ||||
-rw-r--r-- | hcid/lib.c | 180 | ||||
-rw-r--r-- | hcid/lib.h | 88 | ||||
-rw-r--r-- | hcid/main.c | 78 | ||||
-rw-r--r-- | hcid/security.c | 1 |
6 files changed, 65 insertions, 286 deletions
diff --git a/hcid/Makefile.am b/hcid/Makefile.am index 7d1f330a..385e2e5b 100644 --- a/hcid/Makefile.am +++ b/hcid/Makefile.am @@ -31,7 +31,7 @@ dbus_hcid_cflags = endif hcid_SOURCES = main.c security.c device.c logging.c storage.c \ - sdp.c sdp.h lib.c lib.h hcid.h parser.h parser.y \ + sdp.c sdp.h hcid.h parser.h parser.y \ lexer.l kword.c kword.h $(dbus_hcid_sources) \ $(top_builddir)/tools/oui.h $(top_builddir)/tools/oui.c diff --git a/hcid/hcid.h b/hcid/hcid.h index cf8ab91a..e8765eae 100644 --- a/hcid/hcid.h +++ b/hcid/hcid.h @@ -87,7 +87,7 @@ struct device_list { }; struct hcid_opts { - char *host_name; + char host_name[40]; int auto_init; int security; int pairing; diff --git a/hcid/lib.c b/hcid/lib.c deleted file mode 100644 index e52e9b37..00000000 --- a/hcid/lib.c +++ /dev/null @@ -1,180 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky <maxk@qualcomm.com> - * Copyright (C) 2002-2006 Marcel Holtmann <marcel@holtmann.org> - * - * - * 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 St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <stdio.h> -#include <errno.h> -#include <unistd.h> -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <signal.h> -#include <sys/socket.h> - -#include <bluetooth/bluetooth.h> -#include <bluetooth/hci.h> -#include <bluetooth/hci_lib.h> - -#include "hcid.h" -#include "lib.h" - -volatile sig_atomic_t __io_canceled; - -/* - * Device name expansion - * %d - device id - */ -char *expand_name(char *dst, int size, char *str, int dev_id) -{ - register int sp, np, olen; - char *opt, buf[10]; - - if (!str && !dst) - return NULL; - - sp = np = 0; - while (np < size - 1 && str[sp]) { - switch (str[sp]) { - case '%': - opt = NULL; - - switch (str[sp+1]) { - case 'd': - sprintf(buf, "%d", dev_id); - opt = buf; - break; - - case 'h': - opt = hcid.host_name; - break; - - case '%': - dst[np++] = str[sp++]; - /* fall through */ - default: - sp++; - continue; - } - - if (opt) { - /* substitute */ - olen = strlen(opt); - if (np + olen < size - 1) - memcpy(dst + np, opt, olen); - np += olen; - } - sp += 2; - continue; - - case '\\': - sp++; - /* fall through */ - default: - dst[np++] = str[sp++]; - break; - } - } - dst[np] = '\0'; - return dst; -} - -/* Returns current host name */ -char *get_host_name(void) -{ - char name[40]; - - if (!gethostname(name, sizeof(name)-1)) { - name[sizeof(name)-1] = 0; - return strdup(name); - } - return strdup("noname"); -} - -/* Functions to manipulate program title */ -extern char **environ; -char *title_start; /* start of the proc title space */ -char *title_end; /* end of the proc title space */ -int title_size; - -void init_title(int argc, char *argv[], char *envp[], const char *name) -{ - int i; - - /* - * Move the environment so settitle can use the space at - * the top of memory. - */ - - for (i = 0; envp[i]; i++); - - environ = (char **) malloc(sizeof (char *) * (i + 1)); - - for (i = 0; envp[i]; i++) - environ[i] = strdup(envp[i]); - environ[i] = NULL; - - /* - * Save start and extent of argv for set_title. - */ - - title_start = argv[0]; - - /* - * Determine how much space we can use for set_title. - * Use all contiguous argv and envp pointers starting at argv[0] - */ - for (i =0; i < argc; i++) - if (!i || title_end == argv[i]) - title_end = argv[i] + strlen(argv[i]) + 1; - - for (i = 0; envp[i]; i++) - if (title_end == envp[i]) - title_end = envp[i] + strlen(envp[i]) + 1; - - strcpy(title_start, name); - title_start += strlen(name); - title_size = title_end - title_start; -} - -void set_title(const char *fmt, ...) -{ - char buf[255]; - va_list ap; - - memset(title_start, 0, title_size); - - /* print the argument string */ - va_start(ap, fmt); - vsprintf(buf, fmt, ap); - va_end(ap); - - if (strlen(buf) > title_size - 1) - buf[title_size - 1] = '\0'; - - strcat(title_start, buf); -} diff --git a/hcid/lib.h b/hcid/lib.h deleted file mode 100644 index 74687fad..00000000 --- a/hcid/lib.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky <maxk@qualcomm.com> - * Copyright (C) 2002-2006 Marcel Holtmann <marcel@holtmann.org> - * - * - * 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 St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include <errno.h> - -char *expand_name(char *dst, int size, char *str, int dev_id); - -char *get_host_name(void); - -void init_title(int argc, char *argv[], char *env[], const char *name); -void set_title(const char *ftm, ...); - -/* IO cancelation */ -extern volatile sig_atomic_t __io_canceled; - -static inline void io_init(void) -{ - __io_canceled = 0; -} - -static inline void io_cancel(void) -{ - __io_canceled = 1; -} - -/* Read exactly len bytes (Signal safe)*/ -static inline int read_n(int fd, void *buf, int len) -{ - register int w, t = 0; - - while (!__io_canceled && len > 0) { - if ((w = read(fd, buf, len)) < 0) { - if (errno == EINTR || errno == EAGAIN) - continue; - return -1; - } - if (!w) - return 0; - len -= w; - buf += w; - t += w; - } - - return t; -} - -/* Write exactly len bytes (Signal safe)*/ -static inline int write_n(int fd, void *buf, int len) -{ - register int w, t = 0; - - while (!__io_canceled && len > 0) { - if ((w = write(fd, buf, len)) < 0) { - if (errno == EINTR || errno == EAGAIN) - continue; - return -1; - } - if (!w) - return 0; - len -= w; - buf += w; - t += w; - } - - return t; -} diff --git a/hcid/main.c b/hcid/main.c index d3ff01c5..dc477efb 100644 --- a/hcid/main.c +++ b/hcid/main.c @@ -45,7 +45,6 @@ #include "glib-ectomy.h" #include "hcid.h" -#include "lib.h" #include "sdp.h" struct hcid_opts hcid; @@ -191,6 +190,64 @@ no_address: return device_opts->discovto; } +/* + * Device name expansion + * %d - device id + */ +static char *expand_name(char *dst, int size, char *str, int dev_id) +{ + register int sp, np, olen; + char *opt, buf[10]; + + if (!str && !dst) + return NULL; + + sp = np = 0; + while (np < size - 1 && str[sp]) { + switch (str[sp]) { + case '%': + opt = NULL; + + switch (str[sp+1]) { + case 'd': + sprintf(buf, "%d", dev_id); + opt = buf; + break; + + case 'h': + opt = hcid.host_name; + break; + + case '%': + dst[np++] = str[sp++]; + /* fall through */ + default: + sp++; + continue; + } + + if (opt) { + /* substitute */ + olen = strlen(opt); + if (np + olen < size - 1) + memcpy(dst + np, opt, olen); + np += olen; + } + sp += 2; + continue; + + case '\\': + sp++; + /* fall through */ + default: + dst[np++] = str[sp++]; + break; + } + } + dst[np] = '\0'; + return dst; +} + static void configure_device(int hdev) { struct device_opts *device_opts; @@ -210,8 +267,6 @@ static void configure_device(int hdev) return; } - set_title("hci%d config", hdev); - if ((s = hci_open_dev(hdev)) < 0) { error("Can't open device hci%d: %s (%d)", hdev, strerror(errno), errno); @@ -388,8 +443,6 @@ static void init_device(int hdev) return; } - set_title("hci%d init", hdev); - if ((s = hci_open_dev(hdev)) < 0) { error("Can't open device hci%d: %s (%d)", hdev, strerror(errno), errno); @@ -595,10 +648,7 @@ static gboolean io_stack_event(GIOChannel *chan, GIOCondition cond, gpointer dat return TRUE; } -extern int optind, opterr, optopt; -extern char *optarg; - -int main(int argc, char *argv[], char *env[]) +int main(int argc, char *argv[]) { struct sockaddr_hci addr; struct hci_filter flt; @@ -607,12 +657,15 @@ int main(int argc, char *argv[], char *env[]) int opt, daemonize = 1, sdp = 0; /* Default HCId settings */ + memset(&hcid, 0, sizeof(hcid)); hcid.auto_init = 1; hcid.config_file = HCID_CONFIG_FILE; - hcid.host_name = get_host_name(); hcid.security = HCID_SEC_AUTO; hcid.pairing = HCID_PAIRING_MULTI; + if (gethostname(hcid.host_name, sizeof(hcid.host_name) - 1) < 0) + strcpy(hcid.host_name, "noname"); + strcpy((char *) hcid.pin_code, "BlueZ"); hcid.pin_len = 5; @@ -645,9 +698,6 @@ int main(int argc, char *argv[], char *env[]) umask(0077); - init_title(argc, argv, env, "hcid: "); - set_title("initializing"); - start_logging("hcid", "Bluetooth HCI daemon"); memset(&sa, 0, sizeof(sa)); @@ -709,8 +759,6 @@ int main(int argc, char *argv[], char *env[]) /* Initialize already connected devices */ init_all_devices(hcid.sock); - set_title("processing events"); - ctl_io = g_io_channel_unix_new(hcid.sock); g_io_add_watch(ctl_io, G_IO_IN, io_stack_event, NULL); diff --git a/hcid/security.c b/hcid/security.c index 199b93d3..6de61c67 100644 --- a/hcid/security.c +++ b/hcid/security.c @@ -48,7 +48,6 @@ #include "glib-ectomy.h" #include "hcid.h" -#include "lib.h" #include "textfile.h" #include "list.h" |