]> sourceware.org Git - systemtap.git/commitdiff
Tighten -Wno-format-nonliteral to just where it's needed
authorJosh Stone <jistone@redhat.com>
Wed, 20 Nov 2013 21:01:10 +0000 (13:01 -0800)
committerJosh Stone <jistone@redhat.com>
Wed, 20 Nov 2013 21:01:10 +0000 (13:01 -0800)
We only have one function, stap_strfloctime(), which actually requires
relaxing this warning; the rest can and should be checked.  Split this
function into its own file, and give just that the relaxed option.

java/Makefile.am
java/Makefile.in
runtime/dyninst/transport.c
stapdyn/Makefile.am
stapdyn/Makefile.in
staprun/Makefile.am
staprun/Makefile.in
staprun/common.c
staprun/strfloctime.c [new file with mode: 0644]

index 490fca7e8b79975bd35a561d20c41deceb3f9d25..bc73ad00eddb65e46a1c180e023249aab1631144 100644 (file)
@@ -16,7 +16,7 @@ JAR = jar
 BUILT_SOURCES = 
 CLEANFILES =
 
-#AM_CFLAGS = -Wall -Werror -W -Wformat=2 -Wno-format-nonliteral -g 
+#AM_CFLAGS = -Wall -Werror -W -Wformat=2 -g
 AM_CFLAGS = -g
 AM_CFLAGS += -I$(builddir)/../includes/sys
 AM_CFLAGS += -I$(srcdir)/../includes
index fc52669e538709de6b25bf959e771a6ce1022b02..14428a8eb1068c32addd3910b91fb9910bbcee88 100644 (file)
@@ -376,7 +376,7 @@ JAR = jar
 BUILT_SOURCES = 
 CLEANFILES = $(am__append_4)
 
-#AM_CFLAGS = -Wall -Werror -W -Wformat=2 -Wno-format-nonliteral -g 
+#AM_CFLAGS = -Wall -Werror -W -Wformat=2 -g
 AM_CFLAGS = -g -I$(builddir)/../includes/sys -I$(srcdir)/../includes \
        -I$(srcdir)/java -I$(JAVADIR)/include/linux \
        -I$(JAVADIR)/include -fPIC -shared
index 8cffe1a5647923ddba44c91023b5b5a55888222b..454c8d8ca2b655127707c095c7d21085af9e8112 100644 (file)
@@ -315,10 +315,10 @@ stap_strfloctime(char *buf, size_t max, const char *fmt, time_t t)
        if (buf == NULL || fmt == NULL || max <= 1)
                return -EINVAL;
        localtime_r(&t, &tm);
-        /* NB: this following invocation is the reason for stapdyn's
-           being built with -Wno-format-nonliteral.  strftime parsing
-           does not have security implications AFAIK, but gcc still
-           wants to check them. */
+       /* NB: this following invocation means that stapdyn modules can't be
+          checked with -Wformat-nonliteral.  See compile_dyninst()
+          buildrun.cxx for the flags chosen.  strftime parsing does not have
+          security implications AFAIK, but gcc still wants to check them.  */
        ret = strftime(buf, max, fmt, &tm);
        if (ret == 0)
                return -EINVAL;
index 0f74c5217d4715a39d1996df441e79d08314a4b6..fa13ff83c5a42d635e095a36e98c296c0eaf6fc3 100644 (file)
@@ -1,7 +1,7 @@
 # Makefile.am --- automake input file for systemtap dyninst tools
 
-AM_CFLAGS = -Wall -Werror -Wunused -W -Wformat=2 -Wno-format-nonliteral
-AM_CXXFLAGS = -Wall -Werror -Wunused -W -Wformat=2 -Wno-format-nonliteral
+AM_CFLAGS = -Wall -Werror -Wunused -W -Wformat=2
+AM_CXXFLAGS = -Wall -Werror -Wunused -W -Wformat=2
 AM_CPPFLAGS = -D_GNU_SOURCE
 AM_CPPFLAGS += -I$(srcdir)/../includes
 AM_CPPFLAGS += -I$(builddir)/../includes/sys
index 9d59668a5ddcb198e74b445dae4be8cb7a3191e7..f384d0f67bf2402409a3e076afb578baf83270f6 100644 (file)
@@ -377,10 +377,8 @@ target_vendor = @target_vendor@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AM_CFLAGS = -Wall -Werror -Wunused -W -Wformat=2 \
-       -Wno-format-nonliteral @PIECFLAGS@
-AM_CXXFLAGS = -Wall -Werror -Wunused -W -Wformat=2 \
-       -Wno-format-nonliteral @PIECXXFLAGS@
+AM_CFLAGS = -Wall -Werror -Wunused -W -Wformat=2 @PIECFLAGS@
+AM_CXXFLAGS = -Wall -Werror -Wunused -W -Wformat=2 @PIECXXFLAGS@
 AM_CPPFLAGS = -D_GNU_SOURCE -I$(srcdir)/../includes \
        -I$(builddir)/../includes/sys -DBINDIR='"$(bindir)"' \
        -DSYSCONFDIR='"$(sysconfdir)"' -DPKGDATADIR='"${pkgdatadir}"' \
index 9f68af36326734e8584679991ca161d57b058583..6ad2243bc59ea6fa4abcf898d395e87eb9e5464a 100644 (file)
@@ -1,7 +1,7 @@
 # Makefile.am --- automake input file for systemtap runtime tools
 
-AM_CFLAGS = -Wall -Werror -Wunused -W -Wformat=2 -Wno-format-nonliteral
-AM_CXXFLAGS = -Wall -Werror -Wunused -W -Wformat=2 -Wno-format-nonliteral
+AM_CFLAGS = -Wall -Werror -Wunused -W -Wformat=2
+AM_CXXFLAGS = -Wall -Werror -Wunused -W -Wformat=2
 AM_CPPFLAGS = -D_GNU_SOURCE
 AM_CPPFLAGS += -I$(srcdir)/../includes
 AM_CPPFLAGS += -I$(builddir)/../includes/sys
@@ -14,11 +14,18 @@ AM_LDFLAGS = @PIELDFLAGS@
 bin_PROGRAMS = staprun stap-merge stapsh
 pkglibexec_PROGRAMS = stapio
 
+# Tighten -Wno-format-nonliteral to just where it's needed.
+# See the automake manual secton: "Per-Object Flags Emulation"
+#   https://www.gnu.org/software/automake/manual/html_node/Per_002dObject-Flags.html
+noinst_LIBRARIES = libstrfloctime.a
+libstrfloctime_a_SOURCES = strfloctime.c
+libstrfloctime_a_CFLAGS = $(AM_CFLAGS) -Wno-format-nonliteral
+
 staprun_SOURCES = staprun.c staprun_funcs.c ctl.c common.c ../privilege.cxx ../util.cxx
 staprun_CFLAGS = $(AM_CFLAGS) -DSINGLE_THREADED
 staprun_CXXFLAGS = $(AM_CXXFLAGS) -DSINGLE_THREADED
 staprun_CPPFLAGS = $(AM_CPPFLAGS)
-staprun_LDADD = $(staprun_LIBS)
+staprun_LDADD = libstrfloctime.a $(staprun_LIBS)
 staprun_LDFLAGS =  $(AM_LDFLAGS)
 if BUILD_ELFUTILS
 staprun_CPPFLAGS += -I../include-elfutils
@@ -34,7 +41,7 @@ staprun_LDADD += $(nss_LIBS)
 endif
 
 stapio_SOURCES = stapio.c mainloop.c common.c ctl.c relay.c relay_old.c
-stapio_LDADD = -lpthread
+stapio_LDADD = libstrfloctime.a -lpthread
 
 man_MANS = staprun.8
 
index 424754d04fa9685975f631909bcad694f0f9dab8..525b9e80bf1e60ff589ef3afbdf225ee98b6e096 100644 (file)
@@ -16,6 +16,7 @@
 
 # Makefile.am --- automake input file for systemtap runtime tools
 
+
 VPATH = @srcdir@
 am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
 am__make_running_with_option = \
@@ -106,6 +107,17 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = run-staprun
 CONFIG_CLEAN_VPATH_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+AR = ar
+ARFLAGS = cru
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
+libstrfloctime_a_AR = $(AR) $(ARFLAGS)
+libstrfloctime_a_LIBADD =
+am_libstrfloctime_a_OBJECTS = libstrfloctime_a-strfloctime.$(OBJEXT)
+libstrfloctime_a_OBJECTS = $(am_libstrfloctime_a_OBJECTS)
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" \
        "$(DESTDIR)$(man8dir)"
 PROGRAMS = $(bin_PROGRAMS) $(pkglibexec_PROGRAMS)
@@ -118,7 +130,7 @@ am_stapio_OBJECTS = stapio.$(OBJEXT) mainloop.$(OBJEXT) \
        common.$(OBJEXT) ctl.$(OBJEXT) relay.$(OBJEXT) \
        relay_old.$(OBJEXT)
 stapio_OBJECTS = $(am_stapio_OBJECTS)
-stapio_DEPENDENCIES =
+stapio_DEPENDENCIES = libstrfloctime.a
 @HAVE_NSS_TRUE@am__objects_1 = staprun-modverify.$(OBJEXT) \
 @HAVE_NSS_TRUE@        staprun-nsscommon.$(OBJEXT)
 am_staprun_OBJECTS = staprun-staprun.$(OBJEXT) \
@@ -128,7 +140,8 @@ am_staprun_OBJECTS = staprun-staprun.$(OBJEXT) \
 staprun_OBJECTS = $(am_staprun_OBJECTS)
 am__DEPENDENCIES_1 =
 @HAVE_NSS_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
-staprun_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+staprun_DEPENDENCIES = libstrfloctime.a $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_2)
 staprun_LINK = $(CXXLD) $(staprun_CXXFLAGS) $(CXXFLAGS) \
        $(staprun_LDFLAGS) $(LDFLAGS) -o $@
 am_stapsh_OBJECTS = stapsh-stapsh.$(OBJEXT)
@@ -181,8 +194,8 @@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD   " $@;
 am__v_CXXLD_1 = 
-SOURCES = $(stap_merge_SOURCES) $(stapio_SOURCES) $(staprun_SOURCES) \
-       $(stapsh_SOURCES)
+SOURCES = $(libstrfloctime_a_SOURCES) $(stap_merge_SOURCES) \
+       $(stapio_SOURCES) $(staprun_SOURCES) $(stapsh_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -403,24 +416,29 @@ target_vendor = @target_vendor@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AM_CFLAGS = -Wall -Werror -Wunused -W -Wformat=2 \
-       -Wno-format-nonliteral @PIECFLAGS@
-AM_CXXFLAGS = -Wall -Werror -Wunused -W -Wformat=2 \
-       -Wno-format-nonliteral @PIECXXFLAGS@
+AM_CFLAGS = -Wall -Werror -Wunused -W -Wformat=2 @PIECFLAGS@
+AM_CXXFLAGS = -Wall -Werror -Wunused -W -Wformat=2 @PIECXXFLAGS@
 AM_CPPFLAGS = -D_GNU_SOURCE -I$(srcdir)/../includes \
        -I$(builddir)/../includes/sys -DBINDIR='"$(bindir)"' \
        -DSYSCONFDIR='"$(sysconfdir)"' -DPKGDATADIR='"${pkgdatadir}"' \
        -DPKGLIBDIR='"$(pkglibexecdir)"' -DLOCALEDIR='"$(localedir)"'
 AM_LDFLAGS = @PIELDFLAGS@
+
+# Tighten -Wno-format-nonliteral to just where it's needed.
+# See the automake manual secton: "Per-Object Flags Emulation"
+#   https://www.gnu.org/software/automake/manual/html_node/Per_002dObject-Flags.html
+noinst_LIBRARIES = libstrfloctime.a
+libstrfloctime_a_SOURCES = strfloctime.c
+libstrfloctime_a_CFLAGS = $(AM_CFLAGS) -Wno-format-nonliteral
 staprun_SOURCES = staprun.c staprun_funcs.c ctl.c common.c \
        ../privilege.cxx ../util.cxx $(am__append_3)
 staprun_CFLAGS = $(AM_CFLAGS) -DSINGLE_THREADED $(am__append_4)
 staprun_CXXFLAGS = $(AM_CXXFLAGS) -DSINGLE_THREADED $(am__append_5)
 staprun_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_1)
-staprun_LDADD = $(staprun_LIBS) $(am__append_6)
+staprun_LDADD = libstrfloctime.a $(staprun_LIBS) $(am__append_6)
 staprun_LDFLAGS = $(AM_LDFLAGS) $(am__append_2)
 stapio_SOURCES = stapio.c mainloop.c common.c ctl.c relay.c relay_old.c
-stapio_LDADD = -lpthread
+stapio_LDADD = libstrfloctime.a -lpthread
 man_MANS = staprun.8
 stap_merge_SOURCES = stap_merge.c
 stap_merge_CFLAGS = $(AM_CFLAGS)
@@ -471,6 +489,14 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 run-staprun: $(top_builddir)/config.status $(srcdir)/run-staprun.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+clean-noinstLIBRARIES:
+       -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+libstrfloctime.a: $(libstrfloctime_a_OBJECTS) $(libstrfloctime_a_DEPENDENCIES) $(EXTRA_libstrfloctime_a_DEPENDENCIES) 
+       $(AM_V_at)-rm -f libstrfloctime.a
+       $(AM_V_AR)$(libstrfloctime_a_AR) libstrfloctime.a $(libstrfloctime_a_OBJECTS) $(libstrfloctime_a_LIBADD)
+       $(AM_V_at)$(RANLIB) libstrfloctime.a
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
@@ -580,6 +606,7 @@ distclean-compile:
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ctl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrfloctime_a-strfloctime.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mainloop.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/relay.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/relay_old.Po@am__quote@
@@ -609,6 +636,20 @@ distclean-compile:
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
+libstrfloctime_a-strfloctime.o: strfloctime.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libstrfloctime_a_CFLAGS) $(CFLAGS) -MT libstrfloctime_a-strfloctime.o -MD -MP -MF $(DEPDIR)/libstrfloctime_a-strfloctime.Tpo -c -o libstrfloctime_a-strfloctime.o `test -f 'strfloctime.c' || echo '$(srcdir)/'`strfloctime.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libstrfloctime_a-strfloctime.Tpo $(DEPDIR)/libstrfloctime_a-strfloctime.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='strfloctime.c' object='libstrfloctime_a-strfloctime.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libstrfloctime_a_CFLAGS) $(CFLAGS) -c -o libstrfloctime_a-strfloctime.o `test -f 'strfloctime.c' || echo '$(srcdir)/'`strfloctime.c
+
+libstrfloctime_a-strfloctime.obj: strfloctime.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libstrfloctime_a_CFLAGS) $(CFLAGS) -MT libstrfloctime_a-strfloctime.obj -MD -MP -MF $(DEPDIR)/libstrfloctime_a-strfloctime.Tpo -c -o libstrfloctime_a-strfloctime.obj `if test -f 'strfloctime.c'; then $(CYGPATH_W) 'strfloctime.c'; else $(CYGPATH_W) '$(srcdir)/strfloctime.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libstrfloctime_a-strfloctime.Tpo $(DEPDIR)/libstrfloctime_a-strfloctime.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='strfloctime.c' object='libstrfloctime_a-strfloctime.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libstrfloctime_a_CFLAGS) $(CFLAGS) -c -o libstrfloctime_a-strfloctime.obj `if test -f 'strfloctime.c'; then $(CYGPATH_W) 'strfloctime.c'; else $(CYGPATH_W) '$(srcdir)/strfloctime.c'; fi`
+
 stap_merge-stap_merge.o: stap_merge.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_merge_CFLAGS) $(CFLAGS) -MT stap_merge-stap_merge.o -MD -MP -MF $(DEPDIR)/stap_merge-stap_merge.Tpo -c -o stap_merge-stap_merge.o `test -f 'stap_merge.c' || echo '$(srcdir)/'`stap_merge.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/stap_merge-stap_merge.Tpo $(DEPDIR)/stap_merge-stap_merge.Po
@@ -860,7 +901,7 @@ distclean-tags:
 check-am: all-am
 check: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(PROGRAMS) $(MANS)
+all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(MANS)
 installdirs:
        for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(man8dir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
@@ -900,8 +941,8 @@ maintainer-clean-generic:
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 clean: clean-am
 
-clean-am: clean-binPROGRAMS clean-generic clean-pkglibexecPROGRAMS \
-       mostlyclean-am
+clean-am: clean-binPROGRAMS clean-generic clean-noinstLIBRARIES \
+       clean-pkglibexecPROGRAMS mostlyclean-am
 
 distclean: distclean-am
        -rm -rf ./$(DEPDIR)
@@ -975,20 +1016,20 @@ uninstall-man: uninstall-man8
 .MAKE: all check install install-am install-exec-am install-strip
 
 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
-       clean-binPROGRAMS clean-generic clean-pkglibexecPROGRAMS \
-       cscopelist-am ctags ctags-am distclean distclean-compile \
-       distclean-generic distclean-tags dvi dvi-am html html-am info \
-       info-am install install-am install-binPROGRAMS install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-exec-hook install-html install-html-am \
-       install-info install-info-am install-man install-man8 \
-       install-pdf install-pdf-am install-pkglibexecPROGRAMS \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
-       uninstall-am uninstall-binPROGRAMS uninstall-man \
-       uninstall-man8 uninstall-pkglibexecPROGRAMS
+       clean-binPROGRAMS clean-generic clean-noinstLIBRARIES \
+       clean-pkglibexecPROGRAMS cscopelist-am ctags ctags-am \
+       distclean distclean-compile distclean-generic distclean-tags \
+       dvi dvi-am html html-am info info-am install install-am \
+       install-binPROGRAMS install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-exec-hook \
+       install-html install-html-am install-info install-info-am \
+       install-man install-man8 install-pdf install-pdf-am \
+       install-pkglibexecPROGRAMS install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+       tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
+       uninstall-man uninstall-man8 uninstall-pkglibexecPROGRAMS
 
 git_version.stamp ../git_version.h:
        $(MAKE) -C .. $(notdir $@)
index 7edbd26b14c892ad1ead9feaaa736f3168f62d0c..c6c54d4bda2801f82b55c8d3bac898dee1234913 100644 (file)
@@ -66,22 +66,6 @@ static char *get_abspath(char *path)
        return path_buf;
 }
 
-int stap_strfloctime(char *buf, size_t max, const char *fmt, time_t t)
-{
-       struct tm tm;
-       size_t ret;
-       if (buf == NULL || fmt == NULL || max <= 1)
-               return -EINVAL;
-       localtime_r(&t, &tm);
-        /* NB: this following invocation is the reason for staprun's being built
-           with -Wno-format-nonliteral.  strftime parsing does not have security
-           implications AFAIK, but gcc still wants to check them.  */
-       ret = strftime(buf, max, fmt, &tm);
-       if (ret == 0)
-               return -EINVAL;
-       return (int)ret;
-}
-
 int make_outfile_name(char *buf, int max, int fnum, int cpu, time_t t, int bulk)
 {
        int len;
diff --git a/staprun/strfloctime.c b/staprun/strfloctime.c
new file mode 100644 (file)
index 0000000..7b2e097
--- /dev/null
@@ -0,0 +1,31 @@
+/* -*- linux-c -*-
+ *
+ * strfloctime.c - staprun/io time-based formatting
+ *
+ * This file is part of systemtap, and is free software.  You can
+ * redistribute it and/or modify it under the terms of the GNU General
+ * Public License (GPL); either version 2, or (at your option) any
+ * later version.
+ *
+ * Copyright (C) 2007-2013 Red Hat Inc.
+ */
+
+#include "staprun.h"
+#include <time.h>
+
+int stap_strfloctime(char *buf, size_t max, const char *fmt, time_t t)
+{
+       struct tm tm;
+       size_t ret;
+       if (buf == NULL || fmt == NULL || max <= 1)
+               return -EINVAL;
+       localtime_r(&t, &tm);
+       /* NB: this following invocation is the reason for this CU being built
+          with -Wno-format-nonliteral.  strftime parsing does not have security
+          implications AFAIK, but gcc still wants to check them.  */
+       ret = strftime(buf, max, fmt, &tm);
+       if (ret == 0)
+               return -EINVAL;
+       return (int)ret;
+}
+
This page took 0.047941 seconds and 5 git commands to generate.