Add msvcrt/malloc.h (for the MFC).
[wine] / dlls / msvcrt / misc.c
1 /*
2  * msvcrt.dll misc functions
3  *
4  * Copyright 2000 Jon Griffiths
5  */
6
7 #include <stdlib.h>
8
9 #include "msvcrt.h"
10 #include "msvcrt/stdlib.h"
11
12
13 DEFAULT_DEBUG_CHANNEL(msvcrt);
14
15
16 /*********************************************************************
17  *              _beep (MSVCRT.@)
18  */
19 void _beep( unsigned int freq, unsigned int duration)
20 {
21     TRACE(":Freq %d, Duration %d\n",freq,duration);
22     Beep(freq, duration);
23 }
24
25 /*********************************************************************
26  *              rand (MSVCRT.@)
27  */
28 int MSVCRT_rand()
29 {
30   return (rand() & 0x7fff);
31 }
32
33 /*********************************************************************
34  *              _sleep (MSVCRT.@)
35  */
36 void _sleep(unsigned long timeout)
37 {
38   TRACE("_sleep for %ld milliseconds\n",timeout);
39   Sleep((timeout)?timeout:1);
40 }
41
42 /*********************************************************************
43  *              _lfind (MSVCRT.@)
44  */
45 void* _lfind(const void* match, const void* start,
46              unsigned int* array_size, unsigned int elem_size,
47              MSVCRT_compar_fn_t cf)
48 {
49   unsigned int size = *array_size;
50   if (size)
51     do
52     {
53       if (cf(match, start) == 0)
54         return (void *)start; /* found */
55       start += elem_size;
56     } while (--size);
57   return NULL;
58 }
59
60 /*********************************************************************
61  *              _lsearch (MSVCRT.@)
62  */
63 void* _lsearch(const void* match, void* start,
64                unsigned int* array_size, unsigned int elem_size,
65                MSVCRT_compar_fn_t cf)
66 {
67   unsigned int size = *array_size;
68   if (size)
69     do
70     {
71       if (cf(match, start) == 0)
72         return start; /* found */
73       start += elem_size;
74     } while (--size);
75
76   /* not found, add to end */
77   memcpy(start, match, elem_size);
78   array_size[0]++;
79   return start;
80 }
81
82 /*********************************************************************
83  *              _chkesp (MSVCRT.@)
84  */
85 void _chkesp(void)
86 {
87
88 }