Mercurial > hg > forks > bilotrip-mj12
diff src/platform.c @ 45:d85542c96791
Clean up the build some more, move platform specifics again.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 06 Aug 2013 00:23:45 +0300 |
parents | 785057719d9b |
children |
line wrap: on
line diff
--- a/src/platform.c Tue Aug 06 00:04:37 2013 +0300 +++ b/src/platform.c Tue Aug 06 00:23:45 2013 +0300 @@ -1,65 +1,28 @@ -/* ============================================================================ - * Freetype GL - A C OpenGL Freetype engine - * Platform: Any - * WWW: http://code.google.com/p/freetype-gl/ - * ---------------------------------------------------------------------------- - * Copyright 2011,2012 Nicolas P. Rougier. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY NICOLAS P. ROUGIER ''AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL NICOLAS P. ROUGIER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are - * those of the authors and should not be interpreted as representing official - * policies, either expressed or implied, of Nicolas P. Rougier. - * ============================================================================ - */ -#include <string.h> #include "platform.h" + #if defined(_WIN32) || defined(_WIN64) - #include <math.h> -double round (float v) +double round(float v) { - return floor(v+0.5f); + return floor(v + 0.5f); } -// strndup() is not available on Windows -char *strndup( const char *s1, size_t n) -{ - char *copy= (char*)malloc( n+1 ); - memcpy( copy, s1, n ); - copy[n] = 0; - return copy; -}; -#endif +#endif -// strndup() was only added in OSX lion -#if defined(__APPLE__) -char *strndup( const char *s1, size_t n) +#if defined(__APPLE__) || defined(_WIN32) || defined(_WIN64) + +char * strndup(const char *s, size_t n) { - char *copy = calloc( n+1, sizeof(char) ); - memcpy( copy, s1, n ); - return copy; -}; + char *result = malloc(n + 1); + if (result == NULL) + return NULL; + + memcpy(result, s, n); + result[n] = 0; + return result; +} + #endif