@@ -110,26 +110,29 @@ static const char* detectWithDdcci(FF_MAYBE_UNUSED FFBrightnessOptions* options,
110110 FF_LIBRARY_LOAD_SYMBOL_MESSAGE (libddcutil , ddca_close_display )
111111
112112 #ifndef FF_DISABLE_DLOPEN
113- __typeof__ ( & ddca_init ) ffddca_init = dlsym ( libddcutil , " ddca_init" );
113+ FF_LIBRARY_LOAD_SYMBOL_LAZY ( libddcutil , ddca_init )
114114 if (ffddca_init )
115- #else
116- __typeof__ (& ddca_init ) ffddca_init = ddca_init ;
117- #endif
118115 {
119116 FF_SUPPRESS_IO ();
120117 // Ref: https://github.com/rockowitz/ddcutil/issues/344
121118 if (ffddca_init (NULL , -1 /*DDCA_SYSLOG_NOT_SET*/ , 1 /*DDCA_INIT_OPTIONS_DISABLE_CONFIG_FILE*/ ) < 0 )
122119 return "ddca_init() failed" ;
123120 }
124- #ifndef FF_DISABLE_DLOPEN
125121 else
126122 {
127- __typeof__ ( & ddca_set_default_sleep_multiplier ) ffddca_set_default_sleep_multiplier = dlsym ( libddcutil , " ddca_set_default_sleep_multiplier" );
123+ FF_LIBRARY_LOAD_SYMBOL_LAZY ( libddcutil , ddca_set_default_sleep_multiplier );
128124 if (ffddca_set_default_sleep_multiplier )
129125 ffddca_set_default_sleep_multiplier (options -> ddcciSleep / 40.0 );
130126
131127 libddcutil = NULL ; // Don't dlclose libddcutil. See https://github.com/rockowitz/ddcutil/issues/330
132128 }
129+ #else
130+ #if DDCUTIL_VMAJOR >= 2
131+ if (ddca_init (NULL , -1 /*DDCA_SYSLOG_NOT_SET*/ , 1 /*DDCA_INIT_OPTIONS_DISABLE_CONFIG_FILE*/ ) < 0 )
132+ return "ddca_init() failed" ;
133+ #else
134+ ddca_set_default_sleep_multiplier (options -> ddcciSleep / 40.0 );
135+ #endif
133136 #endif
134137
135138 FF_AUTO_FREE DDCA_Display_Info_List * infoList = NULL ;
0 commit comments