Cleanup: open_memstream and close_memstream compat is never used
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Wed, 14 Mar 2018 17:26:46 +0000 (13:26 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 1 Jun 2018 09:35:25 +0000 (05:35 -0400)
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
configure.ac
src/lib/lttng-ctl/filter/memstream.h

index cb36d6b68423b6edd1eefe9351b58e168b9d7284..7c85cff4a78df07fbce2c276a855eba63d5be395 100644 (file)
@@ -579,13 +579,6 @@ AC_CHECK_LIB([c], [fmemopen],
 ]
 )
 
-# Check for open_memstream
-AC_CHECK_LIB([c], [open_memstream],
-[
-       AC_DEFINE_UNQUOTED([LTTNG_HAVE_OPEN_MEMSTREAM], 1, [Has open_memstream support.])
-]
-)
-
 # check for libpfm
 AC_CHECK_LIB([pfm], [pfm_initialize],
             [
index 6990b6fd709189e99b55416b93e11cd5f7604389..af2a5a77382e96b9e8e7f52764988a84bcab534f 100644 (file)
@@ -95,131 +95,4 @@ error_unlink:
 
 #endif /* LTTNG_HAVE_FMEMOPEN */
 
-#ifdef LTTNG_HAVE_OPEN_MEMSTREAM
-
-#include <stdio.h>
-
-static inline
-FILE *lttng_open_memstream(char **ptr, size_t *sizeloc)
-{
-       return open_memstream(ptr, sizeloc);
-}
-
-static inline
-int lttng_close_memstream(char **buf, size_t *size, FILE *fp)
-{
-       return fclose(fp);
-}
-
-#else /* LTTNG_HAVE_OPEN_MEMSTREAM */
-
-#include <stdlib.h>
-#include <stdio.h>
-
-/*
- * Fallback for systems which don't have open_memstream. Create FILE *
- * with lttng_open_memstream, but require call to
- * lttng_close_memstream to flush all data written to the FILE *
- * into the buffer (which we allocate).
- */
-static inline
-FILE *lttng_open_memstream(char **ptr, size_t *sizeloc)
-{
-       char tmpname[PATH_MAX];
-       int ret;
-       FILE *fp;
-
-       strncpy(tmpname, "/tmp/lttng-tmp-XXXXXX", PATH_MAX);
-       ret = mkstemp(tmpname);
-       if (ret < 0) {
-               return NULL;
-       }
-       fp = fdopen(ret, "w+");
-       if (!fp) {
-               goto error_unlink;
-       }
-       /*
-        * lttng_flush_memstream will update the buffer content
-        * with read from fp. No need to keep the file around, just the
-        * handle.
-        */
-       ret = unlink(tmpname);
-       if (ret < 0) {
-               PERROR("unlink");
-       }
-       return fp;
-
-error_unlink:
-       ret = unlink(tmpname);
-       if (ret < 0) {
-               PERROR("unlink");
-       }
-       return NULL;
-}
-
-/* Get file size, allocate buffer, copy. */
-static inline
-int lttng_close_memstream(char **buf, size_t *size, FILE *fp)
-{
-       size_t len, n;
-       long pos;
-       int ret;
-
-       ret = fflush(fp);
-       if (ret < 0) {
-               PERROR("fflush");
-               return ret;
-       }
-       ret = fseek(fp, 0L, SEEK_END);
-       if (ret < 0) {
-               PERROR("fseek");
-               return ret;
-       }
-       pos = ftell(fp);
-       if (ret < 0) {
-               PERROR("ftell");
-               return ret;
-       }
-       *size = pos;
-       /* add final \0 */
-       *buf = calloc(pos + 1, sizeof(char));
-       if (!*buf) {
-               return -ENOMEM;
-       }
-       ret = fseek(fp, 0L, SEEK_SET);
-       if (ret < 0) {
-               PERROR("fseek");
-               goto error_free;
-       }
-       /* Copy the entire file into the buffer */
-       n = 0;
-       clearerr(fp);
-       while (!feof(fp) && !ferror(fp) && (*size - n > 0)) {
-               len = fread(*buf, sizeof(char), *size - n, fp);
-               n += len;
-       }
-       if (n != *size) {
-               ret = -1;
-               goto error_close;
-       }
-       ret = fclose(fp);
-       if (ret < 0) {
-               PERROR("fclose");
-               return ret;
-       }
-       return 0;
-
-error_close:
-       ret = fclose(fp);
-       if (ret < 0) {
-               PERROR("fclose");
-       }
-error_free:
-       free(*buf);
-       *buf = NULL;
-       return ret;
-}
-
-#endif /* LTTNG_HAVE_OPEN_MEMSTREAM */
-
 #endif /* _LTTNG_CTL_MEMSTREAM_H */
This page took 0.036146 seconds and 4 git commands to generate.