/usr/share/common-lisp/source/clsql-uffi/uffi/clsql_uffi.c is in cl-sql-uffi 6.7.0-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | /****************************************************************************
* FILE IDENTIFICATION
*
* Name: clsql-uffi.c
* Purpose: Helper functions for common interfaces using UFFI
* Programmer: Kevin M. Rosenberg
* Date Started: Mar 2002
*
* This file, part of CLSQL, is Copyright (c) 2002-2010 by Kevin M. Rosenberg
*
* CLSQL 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.
***************************************************************************/
#if defined(WIN32)||defined(WIN64)
#include <windows.h>
BOOL WINAPI DllEntryPoint(HINSTANCE hinstdll, DWORD fdwReason,
LPVOID lpvReserved)
{
return 1;
}
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT
#endif
const unsigned int bitmask_32bits = 0xFFFFFFFF;
#define lower_32bits(int64) ((unsigned int) int64 & bitmask_32bits)
#define upper_32bits(int64) ((unsigned int) (int64 >> 32))
/* Reads a 64-bit integer string, returns result as two 32-bit integers */
DLLEXPORT
unsigned int
atol64 (const unsigned char* str, unsigned int* pHigh32)
{
#if defined(WIN32)||defined(WIN64)
__int64 result = 0;
#else
long long result = 0;
#endif
int minus = 0;
int first_char = *str;
if (first_char == '+')
++str;
else if (first_char == '-') {
minus = 1;
++str;
}
while (*str) {
int i = *str - '0';
if (i < 0 || i > 9) /* Non-numeric character -- quit */
break;
result = i + (10 * result);
str++;
}
if (minus)
result = -result;
*pHigh32 = upper_32bits(result);
return lower_32bits(result);
}
|