aboutsummaryrefslogtreecommitdiffstats
path: root/src/macros.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/macros.h')
-rw-r--r--src/macros.h37
1 files changed, 1 insertions, 36 deletions
diff --git a/src/macros.h b/src/macros.h
index c0aeabb..6e5f8ed 100644
--- a/src/macros.h
+++ b/src/macros.h
@@ -14,44 +14,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <string.h>
-#include <stdio.h>
#include <unistd.h>
-#include <stdlib.h>
-
-#define try(...) do { if (!(__VA_ARGS__)) goto fail; } while (0)
-#define t(...) do { if (__VA_ARGS__) goto fail; } while (0)
-#define CLEANUP(...) do { int cleanup__ = errno; __VA_ARGS__; errno = cleanup__; } while (0)
-
-#define xstrdup(outp, ...) \
-do { \
- const char *xstrdup__ = (__VA_ARGS__); \
- if (xstrdup__) \
- try (*(outp) = strdup(xstrdup__)); \
- else \
- *(outp) = NULL; \
-} while (0)
-
+#define t(...) do { if (__VA_ARGS__) goto fail; } while (0)
#define xpread(fd, buf, len, off) t (pread(fd, buf, len, off) < (ssize_t)(len))
-#define xpwrite(fd, buf, len, off) t (pwrite(fd, buf, len, off) < (ssize_t)(len))
-#define xread(fd, buf, len) t (read(fd, buf, len) < (ssize_t)(len))
#define xwrite(fd, buf, len) t (write(fd, buf, len) < (ssize_t)(len))
-
-#define xcalloc(outp, num) try (*(outp) = calloc(num, sizeof(**(outp))))
-#define xmalloc(outp, num) try (*(outp) = malloc((num) * sizeof(**(outp))))
-#define xrealloc(outp, num) \
-do { \
- size_t n__ = (num); \
- void *new__ = realloc(*(outp), n__ * sizeof(**(outp))); \
- t (n__ && !new__); \
- *(outp) = new__; \
-} while (0)
-
-#define SHRINK(outp, num) \
-do { \
- void *new__ = realloc(*(outp), (num) * sizeof(**(outp))); \
- if (new__) *(outp) = new__; \
-} while (0)
-