comparison dwcompat.c @ 1608:ff844a41193b

Not setting the structure to NULL seems to cause crashes on Mac when mounting/unmounting.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sat, 03 Mar 2012 05:21:03 +0000
parents 71e0a3ad07f7
children e4a641036581
comparison
equal deleted inserted replaced
1607:d7fcea7bfcf9 1608:ff844a41193b
100 if(GetDiskFreeSpace(buffer, &spc, &bps, &fc, &tc) == 0) 100 if(GetDiskFreeSpace(buffer, &spc, &bps, &fc, &tc) == 0)
101 return 0; 101 return 0;
102 102
103 return (long double)((double)spc*(double)bps*(double)fc); 103 return (long double)((double)spc*(double)bps*(double)fc);
104 #elif defined(__FreeBSD__) || defined(__MAC__) 104 #elif defined(__FreeBSD__) || defined(__MAC__)
105 struct statfs *fsp; 105 struct statfs *fsp = NULL;
106 int entries, index = 1; 106 int entries, index = 1;
107 107
108 entries = getmntinfo (&fsp, MNT_NOWAIT); 108 entries = getmntinfo (&fsp, MNT_NOWAIT);
109 109
110 for (; entries-- > 0; fsp++) 110 for (; entries-- > 0; fsp++)
202 if(GetDiskFreeSpace(buffer, &spc, &bps, &fc, &tc) == 0) 202 if(GetDiskFreeSpace(buffer, &spc, &bps, &fc, &tc) == 0)
203 return 0; 203 return 0;
204 204
205 return (long double)((double)spc*(double)bps*(double)tc); 205 return (long double)((double)spc*(double)bps*(double)tc);
206 #elif defined(__FreeBSD__) || defined(__MAC__) 206 #elif defined(__FreeBSD__) || defined(__MAC__)
207 struct statfs *fsp; 207 struct statfs *fsp = NULL;
208 int entries, index = 1; 208 int entries, index = 1;
209 209
210 entries = getmntinfo (&fsp, MNT_NOWAIT); 210 entries = getmntinfo (&fsp, MNT_NOWAIT);
211 211
212 for (; entries-- > 0; fsp++) 212 for (; entries-- > 0; fsp++)
301 buffer[0] = drive + 'A' - 1; 301 buffer[0] = drive + 'A' - 1;
302 302
303 if(GetVolumeInformation(buffer, volname, 100, &spc, &bps, &fc, NULL, 0) != 0) 303 if(GetVolumeInformation(buffer, volname, 100, &spc, &bps, &fc, NULL, 0) != 0)
304 return 1; 304 return 1;
305 #elif defined(__FreeBSD__) || defined(__MAC__) 305 #elif defined(__FreeBSD__) || defined(__MAC__)
306 struct statfs *fsp; 306 struct statfs *fsp = NULL;
307 int entries, index = 1; 307 int entries, index = 1;
308 308
309 entries = getmntinfo (&fsp, MNT_NOWAIT); 309 entries = getmntinfo (&fsp, MNT_NOWAIT);
310 310
311 for (; entries-- > 0; fsp++) 311 for (; entries-- > 0; fsp++)
372 372
373 void API getfsname(int drive, char *buf, int len) 373 void API getfsname(int drive, char *buf, int len)
374 { 374 {
375 #if defined(__UNIX__) || defined(__MAC__) 375 #if defined(__UNIX__) || defined(__MAC__)
376 #if defined(__FreeBSD__) || defined(__MAC__) 376 #if defined(__FreeBSD__) || defined(__MAC__)
377 struct statfs *fsp; 377 struct statfs *fsp = NULL;
378 int entries, index = 1; 378 int entries, index = 1;
379 379
380 strncpy(buf, "Unknown", len); 380 strncpy(buf, "Unknown", len);
381 381
382 entries = getmntinfo (&fsp, MNT_NOWAIT); 382 entries = getmntinfo (&fsp, MNT_NOWAIT);