From a163637d3ee97e553ea7024608deb5e2d9e3d9f3 Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Tue, 16 Jan 2007 09:50:43 +0100 Subject: [PATCH] src/common.c: Removed `log_update_file' and `log_create_file'. Also changed the license to GPLv2-only and updated the copyright date. --- src/common.c | 158 +++++------------------------------------------------------ src/common.h | 30 ++++++------ 2 files changed, 25 insertions(+), 163 deletions(-) diff --git a/src/common.c b/src/common.c index cf2a6398..62c1de76 100644 --- a/src/common.c +++ b/src/common.c @@ -1,21 +1,19 @@ /** * collectd - src/common.c - * Copyright (C) 2005,2006 Florian octo Forster + * Copyright (C) 2005-2007 Florian octo Forster * - * This program is free software; you can redistribute it and/ - * or modify it under the terms of the GNU General Public Li- - * cence as published by the Free Software Foundation; either - * version 2 of the Licence, or any later version. + * 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; only version 2 of the License is applicable. * - * This program is distributed in the hope that it will be use- - * ful, but WITHOUT ANY WARRANTY; without even the implied war- - * ranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public Licence for more details. + * 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 - * Licence along with this program; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, - * USA. + * 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 * * Authors: * Florian octo Forster @@ -387,140 +385,6 @@ int check_create_dir (const char *file_orig) return (0); } -static int log_create_file (char *filename, char **ds_def, int ds_num) -{ - FILE *log; - int i; - - if (check_create_dir (filename)) - return (-1); - - log = fopen (filename, "w"); - if (log == NULL) - { - syslog (LOG_WARNING, "Failed to create %s: %s", filename, - strerror(errno)); - return (-1); - } - - fprintf (log, "epoch"); - for (i = 0; i < ds_num; i++) - { - char *name; - char *tmp; - - name = strchr (ds_def[i], ':'); - if (name == NULL) - { - syslog (LOG_WARNING, "Invalid DS definition '%s' for %s", - ds_def[i], filename); - fclose(log); - remove(filename); - return (-1); - } - - name += 1; - tmp = strchr (name, ':'); - if (tmp == NULL) - { - syslog (LOG_WARNING, "Invalid DS definition '%s' for %s", - ds_def[i], filename); - fclose(log); - remove(filename); - return (-1); - } - - /* The `%.*s' is needed because there is no null-byte behind - * the name. */ - fprintf(log, ",%.*s", (int) (tmp - name), name); - } - fprintf(log, "\n"); - fclose(log); - - return 0; -} - -int log_update_file (char *host, char *file, char *values, - char **ds_def, int ds_num) -{ - char *tmp; - FILE *fp; - struct stat statbuf; - char full_file[1024]; - - /* Cook the values a bit: Substitute colons with commas */ - strsubstitute (values, ':', ','); - - /* host == NULL => local mode */ - if (host != NULL) - { - if (snprintf (full_file, 1024, "%s/%s", host, file) >= 1024) - return (-1); - } - else - { - if (snprintf (full_file, 1024, "%s", file) >= 1024) - return (-1); - } - - strncpy (full_file, file, 1024); - - tmp = full_file + strlen (full_file) - 4; - assert ((tmp != NULL) && (tmp > full_file)); - - /* Change the filename for logfiles. */ - if (strncmp (tmp, ".rrd", 4) == 0) - { - time_t now; - struct tm *tm; - - /* TODO: Find a way to minimize the calls to `localtime', since - * they are pretty expensive.. */ - now = time (NULL); - tm = localtime (&now); - - strftime (tmp, 1024 - (tmp - full_file), "-%Y-%m-%d", tm); - - /* `localtime(3)' returns a pointer to static data, - * therefore the pointer may not be free'd. */ - } - else - DBG ("The filename ends with `%s' which is unexpected.", tmp); - - if (stat (full_file, &statbuf) == -1) - { - if (errno == ENOENT) - { - if (log_create_file (full_file, ds_def, ds_num)) - return (-1); - } - else - { - syslog (LOG_ERR, "stat %s: %s", full_file, strerror (errno)); - return (-1); - } - } - else if (!S_ISREG (statbuf.st_mode)) - { - syslog (LOG_ERR, "stat %s: Not a regular file!", full_file); - return (-1); - } - - - fp = fopen (full_file, "a"); - if (fp == NULL) - { - syslog (LOG_WARNING, "Failed to append to %s: %s", full_file, - strerror(errno)); - return (-1); - } - fprintf(fp, "%s\n", values); - fclose(fp); - - return (0); -} /* int log_update_file */ - - #ifdef HAVE_LIBKSTAT int get_kstat (kstat_t **ksp_ptr, char *module, int instance, char *name) { diff --git a/src/common.h b/src/common.h index 6cf86677..ce1ffe52 100644 --- a/src/common.h +++ b/src/common.h @@ -1,21 +1,19 @@ /** * collectd - src/common.h - * Copyright (C) 2005,2006 Florian octo Forster - * - * This program is free software; you can redistribute it and/ - * or modify it under the terms of the GNU General Public Li- - * cence as published by the Free Software Foundation; either - * version 2 of the Licence, or any later version. - * - * This program is distributed in the hope that it will be use- - * ful, but WITHOUT ANY WARRANTY; without even the implied war- - * ranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public Licence for more details. - * - * You should have received a copy of the GNU General Public - * Licence along with this program; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, - * USA. + * Copyright (C) 2005-2007 Florian octo Forster + * + * 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; only version 2 of the License is applicable. + * + * 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 * * Authors: * Florian octo Forster -- 2.11.0