[gobject-introspection/ebassi/release-1-72: 1/4] scanner: Check before accessing an optional field




commit 1ed006333b576ecfbbfa2ab93a02688de9a4eb07
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Fri Mar 18 11:43:34 2022 +0000

    scanner: Check before accessing an optional field
    
    It seems that optparse might just ignore storing options without a
    default. In this case, the `--compiler` option should be initialised to
    `None`, but instead it just gets ignored.
    
    Without the `hasattr()` check, updating the introspection data for GLib
    fails with a Python backtrace.

 giscanner/scannermain.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
index 64575557..1d39ab84 100644
--- a/giscanner/scannermain.py
+++ b/giscanner/scannermain.py
@@ -461,7 +461,8 @@ def create_source_scanner(options, args):
     # Run the preprocessor, tokenize and construct simple
     # objects representing the raw C symbols
     ss = SourceScanner()
-    ss.set_compiler(options.compiler)
+    if hasattr(options, 'compiler') and options.compiler:
+        ss.set_compiler(options.compiler)
     ss.set_cpp_options(options.cpp_includes,
                        options.cpp_defines,
                        options.cpp_undefines,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]