@@ -25,6 +25,13 @@ SEXP R_libgit2_config(void){
2525 SEXP ssh = PROTECT (Rf_ScalarLogical (features & GIT_FEATURE_SSH ));
2626 SEXP https = PROTECT (Rf_ScalarLogical (features & GIT_FEATURE_HTTPS ));
2727 SEXP threads = PROTECT (Rf_ScalarLogical (features & GIT_FEATURE_THREADS ));
28+ const char * c_regex_backend ;
29+ #if AT_LEAST_LIBGIT2 (1 , 9 )
30+ c_regex_backend = git_libgit2_feature_backend (GIT_FEATURE_REGEX );
31+ #else
32+ c_regex_backend = "unknown" ;
33+ #endif
34+ SEXP regex_backend = PROTECT (safe_string (c_regex_backend ));
2835 git_buf buf = {0 };
2936 git_config_find_global (& buf );
3037 SEXP config_global = PROTECT (safe_string (buf .ptr ));
@@ -35,9 +42,10 @@ SEXP R_libgit2_config(void){
3542 git_libgit2_opts (GIT_OPT_GET_SEARCH_PATH , GIT_CONFIG_LEVEL_GLOBAL , & buf );
3643 SEXP config_search_path = PROTECT (safe_string (buf .ptr ));
3744 git_buf_free (& buf );
38- SEXP out = build_list (7 , "version" , version , "ssh" , ssh , "https" , https , "threads" , threads ,
45+ SEXP out = build_list (8 , "version" , version , "ssh" , ssh , "https" , https , "threads" , threads ,
46+ "regex_backend" , regex_backend ,
3947 "config.global" , config_global , "config.system" , config_system ,
4048 "config.home" , config_search_path );
41- UNPROTECT (7 );
49+ UNPROTECT (8 );
4250 return out ;
4351}
0 commit comments