blob: 44b2a3fa0945428c9333a5491abdde2b9bcc8b3f [file] [log] [blame]
John Koleszarc377bf02010-11-02 09:11:57 -04001/*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
John Koleszarc377bf02010-11-02 09:11:57 -040010#include "tools_common.h"
Tom Finegan03848f52013-11-05 10:02:18 -080011
12#include <stdarg.h>
13#include <stdlib.h>
14
John Koleszar82b1a342012-11-06 12:08:05 -080015#if defined(_WIN32) || defined(__OS2__)
John Koleszarc377bf02010-11-02 09:11:57 -040016#include <io.h>
17#include <fcntl.h>
John Koleszar82b1a342012-11-06 12:08:05 -080018
19#ifdef __OS2__
20#define _setmode setmode
21#define _fileno fileno
22#define _O_BINARY O_BINARY
23#endif
John Koleszarc377bf02010-11-02 09:11:57 -040024#endif
25
Tom Finegan03848f52013-11-05 10:02:18 -080026#define LOG_ERROR(label) do {\
27 const char *l = label;\
28 va_list ap;\
29 va_start(ap, fmt);\
30 if (l)\
31 fprintf(stderr, "%s: ", l);\
32 vfprintf(stderr, fmt, ap);\
33 fprintf(stderr, "\n");\
34 va_end(ap);\
35} while (0)
36
37
John Koleszarc6b90392012-07-13 15:21:29 -070038FILE *set_binary_mode(FILE *stream) {
39 (void)stream;
John Koleszar82b1a342012-11-06 12:08:05 -080040#if defined(_WIN32) || defined(__OS2__)
John Koleszarc6b90392012-07-13 15:21:29 -070041 _setmode(_fileno(stream), _O_BINARY);
John Koleszarc377bf02010-11-02 09:11:57 -040042#endif
John Koleszarc6b90392012-07-13 15:21:29 -070043 return stream;
John Koleszarc377bf02010-11-02 09:11:57 -040044}
Tom Finegan03848f52013-11-05 10:02:18 -080045
46void die(const char *fmt, ...) {
47 LOG_ERROR(NULL);
48 usage_exit();
49}
50
51void fatal(const char *fmt, ...) {
52 LOG_ERROR("Fatal");
53 exit(EXIT_FAILURE);
54}
55
56void warn(const char *fmt, ...) {
57 LOG_ERROR("Warning");
58}