11919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah/* 2ecff6554d3c3be05df7416c780ddec219da72a3dStefan Krah * Copyright (c) 2008-2016 Stefan Krah. All rights reserved. 31919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * 41919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * Redistribution and use in source and binary forms, with or without 51919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * modification, are permitted provided that the following conditions 61919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * are met: 71919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * 81919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * 1. Redistributions of source code must retain the above copyright 91919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * notice, this list of conditions and the following disclaimer. 101919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * 111919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * 2. Redistributions in binary form must reproduce the above copyright 121919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * notice, this list of conditions and the following disclaimer in the 131919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * documentation and/or other materials provided with the distribution. 141919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * 151919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND 161919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 171919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 181919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 191919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 201919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 211919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 221919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 231919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 241919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 251919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah * SUCH DAMAGE. 261919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah */ 271919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah 281919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah 291919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah#ifndef VCCOMPAT_H 301919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah#define VCCOMPAT_H 311919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah 321919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah 331919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah/* Visual C fixes: no stdint.h, no snprintf ... */ 341919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah#ifdef _MSC_VER 351919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #undef inline 361919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #define inline __inline 371919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #undef random 381919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #define random rand 391919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #undef srandom 401919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #define srandom srand 411919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #undef snprintf 421919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #define snprintf sprintf_s 431919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #define HAVE_SNPRINTF 441919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #undef strncasecmp 451919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #define strncasecmp _strnicmp 461919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #undef strcasecmp 471919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #define strcasecmp _stricmp 481919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #undef strtoll 491919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #define strtoll _strtoi64 501919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah #define strdup _strdup 511919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah#endif 521919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah 531919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah 541919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah#endif /* VCCOMPAT_H */ 551919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah 561919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah 571919b7e72bc43315b32f38a6f5f01e8c717907f4Stefan Krah 58