@@ -166,7 +166,7 @@ static void printAutodetected(FFDiskOptions* options, const FFlist* disks)
166166void ffPrintDisk (FFDiskOptions * options )
167167{
168168 FF_LIST_AUTO_DESTROY disks = ffListCreate (sizeof (FFDisk ));
169- const char * error = ffDetectDisks (& disks );
169+ const char * error = ffDetectDisks (options , & disks );
170170
171171 if (error )
172172 {
@@ -195,6 +195,7 @@ void ffInitDiskOptions(FFDiskOptions* options)
195195
196196 ffStrbufInit (& options -> folders );
197197 options -> showTypes = FF_DISK_VOLUME_TYPE_REGULAR_BIT | FF_DISK_VOLUME_TYPE_EXTERNAL_BIT ;
198+ options -> calcType = FF_DISK_CALC_TYPE_FREE ;
198199}
199200
200201bool ffParseDiskCommandOptions (FFDiskOptions * options , const char * key , const char * value )
@@ -255,6 +256,15 @@ bool ffParseDiskCommandOptions(FFDiskOptions* options, const char* key, const ch
255256 return true;
256257 }
257258
259+ if (ffStrEqualsIgnCase (subKey , "use-available" ))
260+ {
261+ if (ffOptionParseBoolean (value ))
262+ options -> calcType = FF_DISK_CALC_TYPE_AVAILABLE ;
263+ else
264+ options -> calcType = FF_DISK_CALC_TYPE_FREE ;
265+ return true;
266+ }
267+
258268 return false;
259269}
260270
@@ -318,6 +328,15 @@ void ffParseDiskJsonObject(FFDiskOptions* options, yyjson_val* module)
318328 continue ;
319329 }
320330
331+ if (ffStrEqualsIgnCase (key , "useAvailable" ))
332+ {
333+ if (yyjson_get_bool (val ))
334+ options -> calcType = FF_DISK_CALC_TYPE_AVAILABLE ;
335+ else
336+ options -> calcType = FF_DISK_CALC_TYPE_FREE ;
337+ continue ;
338+ }
339+
321340 ffPrintError (FF_DISK_MODULE_NAME , 0 , & options -> moduleArgs , "Unknown JSON key %s" , key );
322341 }
323342}
0 commit comments