Sha256: 98b7d349b83d7c12885b61d3a6280394662bc49be7c86b6b5d5ebc19295e6f7e

Contents?: true

Size: 972 Bytes

Versions: 11

Compression:

Stored size: 972 Bytes

Contents

#include <errno.h>
#include <archive.h>

static struct {
  int code;
  int (*setter)(struct archive *);
} codes[] = {
  { ARCHIVE_COMPRESSION_NONE,     archive_read_support_compression_none     },
  { ARCHIVE_COMPRESSION_GZIP,     archive_read_support_compression_gzip     },
  { ARCHIVE_COMPRESSION_BZIP2,    archive_read_support_compression_bzip2    },
  { ARCHIVE_COMPRESSION_COMPRESS, archive_read_support_compression_compress },
  // XXX:
  /*
  { ARCHIVE_COMPRESSION_PROGRAM,  archive_read_support_compression_program  },
  { ARCHIVE_COMPRESSION_LZMA,     archive_read_support_compression_lzma     },
  */
  { -1,                           NULL                                      },
};

int archive_read_support_compression(struct archive *a, int code) {
  int i;

  for (i = 0; codes[i].code >= 0; i++) {
    if (codes[i].code == code) {
      return codes[i].setter(a);
    }
  }

  archive_set_error(a, EINVAL, "No such compression");
  return ARCHIVE_FATAL;
}

Version data entries

11 entries across 11 versions & 4 rubygems

Version Path
libarchive-static-1.0.6 ext/libarchive-0.1.1/ext/archive_read_support_compression.c
libarchive-ruby-fs-0.2.4 ext/rblibarchive/archive_read_support_compression.c
libarchive-ruby-fs-0.2.3 ext/rblibarchive/archive_read_support_compression.c
libarchive-ruby-fs-0.2.2 ext/rblibarchive/archive_read_support_compression.c
libarchive-static-1.0.5 ext/libarchive-0.1.1/ext/archive_read_support_compression.c
libarchive-static-1.0.4 ext/libarchive-0.1.1/ext/archive_read_support_compression.c
libarchive-static-1.0.3 ext/libarchive-0.1.1/ext/archive_read_support_compression.c
libarchive-static-1.0.0 ext/libarchive-0.1.1/ext/archive_read_support_compression.c
dguerri-libarchive-0.1.2 ext/archive_read_support_compression.c
libarchive-0.1.0 ext/archive_read_support_compression.c
libarchive-0.1.1 ext/archive_read_support_compression.c