Mercurial > dwindows
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); |