111 Commits

Author SHA1 Message Date
Chris Robinson
0b250b246d Use a standard pointer-sized integer type 2014-09-04 23:23:48 -07:00
François Cami
3c13e1e333 Update COPYING to the latest https://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt to fix the FSF' address Fix the FSF' address in the source 2014-08-18 11:34:29 -07:00
Chris Robinson
ba3f1e7468 Assume SSE is available if building with support and no run-time checking 2014-08-11 14:45:28 -07:00
Chris Robinson
74c8de6372 Try the __cpuid intrinsic if GCC's __get_cpuid isn't available 2014-08-11 14:19:15 -07:00
Chris Robinson
e3ee534c39 Check for GCC's __get_cpuid before using it 2014-08-11 13:38:43 -07:00
Chris Robinson
a3c236598a Simplify some vector size range checks 2014-08-10 10:52:08 -07:00
Chris Robinson
936a79da7d Give NULL for null-vector iterators 2014-08-10 09:12:08 -07:00
Chris Robinson
94013216b6 Pass pointer-to-vector types as char* instead of void*
C aliasing rules only allow char* to alias an otherwise-incompatible type,
rather than void*.
2014-08-10 08:46:55 -07:00
Chris Robinson
7b41ed7ec4 Check the current directory first for data files 2014-07-21 04:42:45 -07:00
Chris Robinson
d0a64fe191 Don't require pre-declaring vector types 2014-07-06 03:27:39 -07:00
Chris Robinson
d0fac3fe1d Don't try to set fp precision with __control87_2 or _controlfp 2014-06-08 23:39:52 -07:00
Chris Robinson
c07fb7b45c Print CPU extensions that are unavailable but requested 2014-06-08 06:31:36 -07:00
Timothy Arceri
fc0be88c0f Add SSE2 and SSE4.1 linear resamplers
Currently the only way SSE 4.1 is detected is by using __get_cpuid, i.e. with
GCC. Windows' IsProcessorFeaturePresent does not report SSE4.1 capabilities.
2014-06-06 07:15:00 -07:00
Chris Robinson
a48f5d26fd Ensure a proper amount of new elements are being reserved when inserting 2014-05-22 12:16:22 -07:00
Chris Robinson
a2bddb7b40 Move RWLock and UIntMap implementations to common
This should make the code in common completely self-reliant.
2014-05-07 19:16:49 -07:00
Chris Robinson
d8d609b940 Use standard types for the RWLock 2014-05-07 01:03:06 -07:00
Chris Robinson
1aff37114a Move atomic method definitions to a separate common source 2014-05-06 19:07:40 -07:00
Chris Robinson
804b08e0ca Use ALboolean for al_string_empty's return type 2014-04-30 12:53:52 -07:00
Chris Robinson
6c8bf9ec42 Rename althread_once to be more C11-like 2014-04-17 21:39:51 -07:00
Chris Robinson
20e5ec18e1 Handle the lib name as UTF-8 2014-04-17 21:17:48 -07:00
Chris Robinson
d1f1a1d056 Make and use a C11-like altimespec_get wrapper function 2014-04-17 09:03:57 -07:00
Chris Robinson
c3b1c31d9b Rename althread_key_ wrappers to altss_ and move it to threads.h/c 2014-04-17 00:11:12 -07:00
Chris Robinson
b020dd13fd Avoid using a Sleep() wrapper 2014-04-16 06:59:44 -07:00
Chris Robinson
184cf30cf7 Use althrd_yield instead of alsched_yield 2014-04-16 06:18:24 -07:00
Chris Robinson
505ef82246 Move the threads and mutex wrappers to threads.c 2014-04-16 05:40:40 -07:00
Chris Robinson
e8517d8600 Fix Windows' almtx_timedlock 2014-04-16 05:32:55 -07:00
Chris Robinson
18ab9cbbdd Implement a C11-like thread wrapper and use it in mmdevapi and pulseaudio 2014-04-16 05:19:34 -07:00
Chris Robinson
29cb5058c0 Use a C11-like mutex wrapper instead of CRITICAL_SECTIONs 2014-04-16 01:39:11 -07:00
Chris Robinson
e0d24f9da4 Use a helper to detect a path slash on Windows 2014-04-13 21:44:13 -07:00
Chris Robinson
e615ea3cf9 Use VECTOR_INSERT to copy and append strings 2014-04-13 20:54:12 -07:00
Chris Robinson
0ef87227c1 Pass in the vector insertion point as a pointer 2014-04-13 18:42:41 -07:00
Chris Robinson
cce9609b9e Avoid referencing the start iterator twice for vector insertion 2014-04-13 17:06:18 -07:00
Chris Robinson
90ae4b7c0f Add a VECTOR_INSERT method to insert a range of elements at once 2014-04-09 22:50:28 -07:00
Chris Robinson
add3013234 Fix the default XDG_DATA_DIRS paths 2014-04-07 13:24:51 -07:00
Chris Robinson
569374da2c Properly compare al_strings 2014-04-03 13:46:09 -07:00
Chris Robinson
482fb37b68 Recognize NULL as an empty vector/string 2014-04-03 11:13:12 -07:00
Chris Robinson
570eb4e1a7 Don't pass the vector's capacity as a parameter to vector_reserve 2014-03-31 06:13:56 -07:00
Chris Robinson
7570195b09 strlen returns size_t 2014-03-28 08:19:45 -07:00
Chris Robinson
d997be67fd Use al_string to handle mmdevapi and dsound device names 2014-03-28 07:59:47 -07:00
Chris Robinson
af8fda8a4a Add an al_string type and use it for the device lists 2014-03-28 05:44:19 -07:00
Chris Robinson
2ca673cca2 Properly handle special folder names with extended characters 2014-03-28 01:21:05 -07:00
Chris Robinson
20886059fd Wrap fopen calls under Windows
The idea is that all filenames we deal with are encoded as UTF-8, but the
Windows functions that take a char string interpret it using the ANSI codepage.
So instead, we convert the UTF-8 string to a wchar string, and then use the
wchar functions for proper extended character filename support.
2014-03-28 00:37:42 -07:00
Chris Robinson
83038c0dab Add some integer casts, and a range check 2014-03-23 15:22:37 -07:00
Chris Robinson
8c33b4d742 Increase the vector reserve as needed when pushing in new items 2014-03-21 16:35:38 -07:00
Chris Robinson
983fa4630a Rename the vector's Max field to Capacity 2014-03-21 14:03:26 -07:00
Chris Robinson
ff63188cc2 Add a generic vector interface and use it for the active effect slots 2014-03-21 01:23:01 -07:00
Chris Robinson
308d87b12a Return the original value from CompExchange* 2014-03-09 03:49:40 -07:00
Chris Robinson
ea8a85b19c Move PATH_MAX fallback definitions to alMain.h 2014-02-27 18:17:20 -08:00
Chris Robinson
a8249c3469 Move OpenDataFile to helpers.c so other sources can use it 2014-02-27 01:49:23 -08:00
Chris Robinson
748be9a97d Include sys/sysconf.h if available for sysconf() 2014-01-18 19:16:46 -08:00