File tree Expand file tree Collapse file tree 1 file changed +16
-12
lines changed Expand file tree Collapse file tree 1 file changed +16
-12
lines changed Original file line number Diff line number Diff line change 27
27
28
28
29
29
#define MAX_LOADSTRING 100
30
- device_event_callback * callbacks ;
30
+ static device_event_callback * callbacks ;
31
31
static int clbsize = 10 ;
32
32
static int clbnum = 0 ;
33
33
34
34
35
35
void padd_monitor_callback (device_event_callback callback ) {
36
- if (clbnum == 0 )
37
- callbacks = (device_event_callback * )psync_malloc (sizeof (callbacks )* clbsize );
38
- else {
39
- while (clbnum > clbsize ) {
40
- device_event_callback * callbacks_old = callbacks ;
41
- clbsize = clbsize * 2 ;
42
- callbacks = (device_event_callback * )psync_malloc (sizeof (callbacks )* clbsize );
43
- psync_free (callbacks_old );
44
- }
45
- }
46
- callbacks [clbnum ++ ] = callback ;
36
+ if (callback ) {
37
+ if (clbnum == 0 )
38
+ callbacks = (device_event_callback * )psync_malloc (sizeof (device_event_callback )* clbsize );
39
+ else {
40
+ while (clbnum > clbsize ) {
41
+ device_event_callback * callbacks_old = callbacks ;
42
+ callbacks = (device_event_callback * )psync_malloc (sizeof (device_event_callback )* clbsize * 2 );
43
+ memccpy (callbacks , callbacks_old , 0 ,sizeof (device_event_callback )* clbsize );
44
+ clbsize = clbsize * 2 ;
45
+ psync_free (callbacks_old );
46
+ }
47
+ }
48
+ callbacks [clbnum ] = callback ;
49
+ clbnum ++ ;
50
+ }
47
51
}
48
52
49
53
static pdevice_info * new_dev_info ( char * szPath , pdevice_types type , device_event evt ) {
You can’t perform that action at this time.
0 commit comments