X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=examples%2Fc-test-fns.c;h=5f776b87954eb6397df13948a096158e98c8c095;hb=fd03f207e4c7e4bb1591e4902e31f9f032cffde6;hp=05244b80601358519d072453e65da11a8763d399;hpb=d5e4894a4d66611f1a585cbe53c692af8fabff5d;p=uffi.git diff --git a/examples/c-test-fns.c b/examples/c-test-fns.c index 05244b8..5f776b8 100644 --- a/examples/c-test-fns.c +++ b/examples/c-test-fns.c @@ -1,36 +1,43 @@ /*************************************************************************** * FILE IDENTIFICATION - * + * * Name: c-test-fns.c * Purpose: Test functions in C for UFFI library * Programer: Kevin M. Rosenberg * Date Started: Mar 2002 * - * CVS Id: $Id: c-test-fns.c,v 1.2 2002/03/21 04:04:45 kevin Exp $ + * CVS Id: $Id$ * - * This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg + * This file, part of UFFI, is Copyright (c) 2002-2005 by Kevin M. Rosenberg * - * UFFI users are granted the rights to distribute and use this software - * as governed by the terms of the Lisp Lesser GNU Public License - * (http://opensource.franz.com/preamble.html), also known as the LLGPL. - * These variables are correct for GCC * you'll need to modify these for other compilers ***************************************************************************/ -#ifdef WIN32 +#if defined(WIN32)||defined(WIN64) #include + +BOOL WINAPI DllEntryPoint(HINSTANCE hinstdll, + DWORD fdwReason, + LPVOID lpvReserved) +{ + return 1; +} + +#define DLLEXPORT __declspec(dllexport) + +#else +#define DLLEXPORT #endif #include #include +#include /* Test of constant input string */ +DLLEXPORT int -#ifdef WIN32 -WINAPI -#endif cs_count_upper (char* psz) { int count = 0; @@ -38,19 +45,17 @@ cs_count_upper (char* psz) if (psz) { while (*psz) { if (isupper (*psz)) - ++count; + ++count; ++psz; } return count; - } else + } else return -1; } /* Test of input and output of a string */ +DLLEXPORT void -#ifdef WIN32 -WINAPI -#endif cs_to_upper (char* psz) { if (psz) { @@ -62,10 +67,8 @@ cs_to_upper (char* psz) } /* Test of an output only string */ +DLLEXPORT void -#ifdef WIN32 -WINAPI -#endif cs_make_random (int size, char* buffer) { int i; @@ -73,6 +76,16 @@ cs_make_random (int size, char* buffer) buffer[i] = 'A' + (rand() % 26); } - - +/* Test of input/output vector */ +DLLEXPORT +void +half_double_vector (int size, double* vec) +{ + int i; + for (i = 0; i < size; i++) + vec[i] /= 2.; +} + + +