X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fcommon.c;fp=src%2Fcommon.c;h=4598819ba2c9c126f27776095aafc4a9abdb8f64;hb=40ab4c0cde1bfee1616777995998b0cbc5ffc741;hp=0000000000000000000000000000000000000000;hpb=32ef97ac527d858358eead9f13a6869f749a6c86;p=fastq-tools.git diff --git a/src/common.c b/src/common.c new file mode 100644 index 0000000..4598819 --- /dev/null +++ b/src/common.c @@ -0,0 +1,56 @@ + +/* + * This file is part of fastq-tools. + * + * Copyright (c) 2011 by Daniel C. Jones + * + */ + + +#include "common.h" +#include + + +void or_die(int b, const char* msg) +{ + if (b == 0) { + fputs(msg, stderr); + exit(1); + } +} + + +void* malloc_or_die(size_t n) +{ + void* p = malloc(n); + if (p == NULL) { + fprintf(stderr, "Can not allocate %zu bytes.\n", n); + exit(1); + } + return p; +} + + +void* realloc_or_die(void* ptr, size_t n) +{ + void* p = realloc(ptr, n); + if (p == NULL) { + fprintf(stderr, "Can not allocate %zu bytes.\n", n); + exit(1); + } + return p; +} + + +FILE* fopen_or_die(const char* path, const char* mode) +{ + FILE* f = fopen(path, mode); + if (f == NULL) { + fprintf(stderr, "Can not open file %s with mode %s.\n", path, mode); + exit(1); + } + return f; +} + + +