Add .styleguide.cfg

This commit is contained in:
0x1eef 2024-03-07 01:34:34 -03:00
parent b690b4fcc6
commit 073c7f465b
3 changed files with 408 additions and 17 deletions

380
.styleguide.cfg Normal file
View file

@ -0,0 +1,380 @@
# Uncrustify 0.55
# Loosely based on the FreeBSD style guide
newlines = lf
input_tab_size = 2
output_tab_size = 2
string_escape_char = 94
string_escape_char2 = 0
indent_columns = 2
indent_continue = 2
indent_with_tabs = 0
indent_align_string = false
indent_xml_string = 0
indent_brace = 0
indent_braces = false
indent_braces_no_func = false
indent_brace_parent = false
indent_namespace = false
indent_namespace_level = 0
indent_namespace_limit = 0
indent_extern = false
indent_class = true
indent_class_colon = true
indent_else_if = false
indent_var_def_blk = 0
indent_func_call_param = false
indent_func_def_param = false
indent_func_proto_param = false
indent_func_class_param = false
indent_func_ctor_var_param = false
indent_template_param = false
indent_func_param_double = false
indent_func_const = 0
indent_func_throw = 0
indent_member = 0
indent_relative_single_line_comments = false
indent_switch_case = 0
indent_case_shift = 0
indent_case_brace = 0
indent_col1_comment = false
indent_label = 1
indent_access_spec = 1
indent_access_spec_body = false
indent_paren_nl = false
indent_paren_close = 0
indent_comma_paren = 0
indent_bool_paren = 0
indent_square_nl = false
indent_preserve_sql = false
indent_align_assign = true
indent_off_after_assign = false
sp_arith = ignore
sp_assign = force
sp_before_assign = ignore
sp_after_assign = ignore
sp_enum_assign = ignore
sp_enum_before_assign = ignore
sp_enum_after_assign = ignore
sp_pp_concat = add
sp_pp_stringify = add
sp_bool = force
sp_compare = force
sp_inside_paren = remove
sp_paren_paren = remove
sp_balance_nested_parens = false
sp_paren_brace = ignore
sp_before_ptr_star = force
sp_before_unnamed_ptr_star = ignore
sp_between_ptr_star = remove
sp_after_ptr_star = remove
sp_after_ptr_star_func = ignore
sp_before_ptr_star_func = ignore
sp_before_byref = remove
sp_before_unnamed_byref = ignore
sp_after_byref = force
sp_after_byref_func = ignore
sp_before_byref_func = ignore
sp_after_type = force
sp_template_angle = ignore
sp_before_angle = remove
sp_inside_angle = remove
sp_after_angle = force
sp_angle_paren = ignore
sp_angle_word = ignore
sp_before_sparen = force
sp_inside_sparen = remove
sp_inside_sparen_close = ignore
sp_after_sparen = force
sp_sparen_brace = add
sp_invariant_paren = ignore
sp_after_invariant_paren = ignore
sp_special_semi = ignore
sp_before_semi = remove
sp_before_semi_for = ignore
sp_before_semi_for_empty = force
sp_after_semi = add
sp_after_semi_for = force
sp_after_semi_for_empty = ignore
sp_before_square = ignore
sp_before_squares = ignore
sp_inside_square = remove
sp_after_comma = force
sp_before_comma = remove
sp_before_ellipsis = ignore
sp_after_class_colon = ignore
sp_before_class_colon = ignore
sp_before_case_colon = remove
sp_after_operator = ignore
sp_after_operator_sym = ignore
sp_after_cast = remove
sp_inside_paren_cast = ignore
sp_cpp_cast_paren = ignore
sp_sizeof_paren = remove
sp_after_tag = ignore
sp_inside_braces_enum = force
sp_inside_braces_struct = force
sp_inside_braces = force
sp_inside_braces_empty = ignore
sp_type_func = force
sp_func_proto_paren = remove
sp_func_def_paren = remove
sp_inside_fparens = ignore
sp_inside_fparen = remove
sp_square_fparen = ignore
sp_fparen_brace = add
sp_func_call_paren = remove
sp_func_call_user_paren = ignore
sp_func_class_paren = remove
sp_return_paren = force
sp_attribute_paren = ignore
sp_defined_paren = ignore
sp_throw_paren = ignore
sp_macro = ignore
sp_macro_func = ignore
sp_else_brace = ignore
sp_brace_else = ignore
sp_brace_typedef = force
sp_catch_brace = ignore
sp_brace_catch = ignore
sp_finally_brace = ignore
sp_brace_finally = ignore
sp_try_brace = ignore
sp_getset_brace = ignore
sp_before_dc = remove
sp_after_dc = remove
sp_d_array_colon = ignore
sp_not = remove
sp_inv = remove
sp_addr = remove
sp_member = remove
sp_deref = remove
sp_sign = remove
sp_incdec = remove
sp_before_nl_cont = add
sp_after_oc_scope = ignore
sp_after_oc_colon = ignore
sp_before_oc_colon = ignore
sp_after_send_oc_colon = ignore
sp_before_send_oc_colon = ignore
sp_after_oc_type = ignore
sp_after_oc_return_type = ignore
sp_after_oc_at_sel = ignore
sp_before_oc_block_caret = ignore
sp_after_oc_block_caret = ignore
sp_cond_colon = ignore
sp_cond_question = ignore
sp_case_label = remove
sp_range = ignore
sp_cmt_cpp_start = ignore
sp_endif_cmt = ignore
force_tab_after_define = true
align_keep_tabs = false
align_with_tabs = false
align_on_tabstop = false
align_number_right = false
align_func_params = false
align_same_func_call_params = false
align_same_func_call_params_span = 0
align_same_func_call_params_thresh = 0
align_var_def_span = 0
align_var_def_star_style = 0
align_var_def_amp_style = 0
align_var_def_thresh = 0
align_var_def_gap = 0
align_var_def_colon = false
align_var_def_attribute = false
align_var_def_inline = false
align_assign_span = 0
align_assign_thresh = 12
align_enum_equ_span = 16
align_enum_equ_thresh = 0
align_var_struct_span = 99
align_var_struct_thresh = 0
align_var_struct_gap = 0
align_struct_init_span = 3
align_typedef_gap = 3
align_typedef_span = 5
align_typedef_func = 0
align_typedef_star_style = 0
align_typedef_amp_style = 0
align_right_cmt_span = 3
align_right_cmt_mix = false
align_right_cmt_gap = 0
align_right_cmt_at_col = 0
align_func_proto_span = 0
align_func_proto_gap = 0
align_on_operator = false
align_mix_var_proto = false
align_single_line_func = false
align_single_line_brace = false
align_single_line_brace_gap = 0
align_oc_msg_spec_span = 0
align_nl_cont = 1
align_pp_define_gap = 4
align_pp_define_span = 3
align_left_shift = true
align_oc_msg_colon_span = 0
nl_collapse_empty_body = false
nl_assign_leave_one_liners = true
nl_class_leave_one_liners = true
nl_enum_leave_one_liners = false
nl_getset_leave_one_liners = false
nl_func_leave_one_liners = true
nl_if_leave_one_liners = false
nl_start_of_file = remove
nl_start_of_file_min = 0
nl_end_of_file = force
nl_end_of_file_min = 1
nl_assign_brace = add
nl_assign_square = ignore
nl_after_square_assign = ignore
nl_fcall_brace = add
nl_enum_brace = remove
nl_struct_brace = remove
nl_union_brace = remove
nl_if_brace = remove
nl_brace_else = remove
nl_elseif_brace = ignore
nl_else_brace = remove
nl_else_if = remove
nl_brace_finally = ignore
nl_finally_brace = ignore
nl_try_brace = ignore
nl_getset_brace = force
nl_for_brace = add
nl_catch_brace = ignore
nl_brace_catch = ignore
nl_while_brace = add
nl_brace_brace = ignore
nl_do_brace = add
nl_brace_while = remove
nl_switch_brace = add
nl_multi_line_cond = false
nl_multi_line_define = true
nl_before_case = true
nl_before_throw = ignore
nl_after_case = true
nl_namespace_brace = ignore
nl_template_class = ignore
nl_class_brace = ignore
nl_class_init_args = ignore
nl_func_type_name = ignore
nl_func_type_name_class = ignore
nl_func_scope_name = ignore
nl_func_proto_type_name = ignore
nl_func_paren = ignore
nl_func_decl_start = ignore
nl_func_decl_start_single = ignore
nl_func_decl_args = ignore
nl_func_decl_end = ignore
nl_func_decl_end_single = ignore
nl_func_decl_empty = ignore
nl_fdef_brace = add
nl_after_return = true
nl_return_expr = ignore
nl_after_semicolon = true
nl_after_brace_open = true
nl_after_brace_open_cmt = false
nl_after_vbrace_open = false
nl_after_vbrace_open_empty = false
nl_after_brace_close = true
nl_define_macro = false
nl_squeeze_ifdef = true
nl_before_if = ignore
nl_after_if = ignore
nl_before_for = ignore
nl_after_for = ignore
nl_before_while = ignore
nl_after_while = ignore
nl_before_switch = ignore
nl_after_switch = ignore
nl_before_do = ignore
nl_after_do = ignore
nl_ds_struct_enum_cmt = false
nl_ds_struct_enum_close_brace = false
nl_class_colon = ignore
nl_create_if_one_liner = false
nl_create_for_one_liner = false
nl_create_while_one_liner = false
pos_arith = ignore
pos_assign = ignore
pos_bool = trail
pos_compare = ignore
pos_conditional = ignore
pos_comma = ignore
pos_class_comma = ignore
pos_class_colon = ignore
code_width = 90
ls_for_split_full = false
ls_func_split_full = false
nl_max = 4
nl_after_func_proto = 0
nl_after_func_proto_group = 2
nl_after_func_body = 3
nl_after_func_body_one_liner = 0
nl_before_block_comment = 2
nl_before_c_comment = 0
nl_before_cpp_comment = 0
nl_after_multiline_comment = false
nl_before_access_spec = 0
nl_after_access_spec = 0
nl_comment_func_def = 1
nl_after_try_catch_finally = 0
nl_around_cs_property = 0
nl_between_get_set = 0
eat_blanks_after_open_brace = true
eat_blanks_before_close_brace = true
mod_full_brace_do = add
mod_full_brace_for = add
mod_full_brace_function = ignore
mod_full_brace_if = add
mod_full_brace_if_chain = 0
mod_full_brace_nl = 0
mod_full_brace_while = add
mod_paren_on_return = add
mod_pawn_semicolon = false
mod_full_paren_if_bool = true
mod_remove_extra_semicolon = true
mod_add_long_function_closebrace_comment = 0
mod_add_long_switch_closebrace_comment = 0
mod_add_long_ifdef_endif_comment = 0
mod_add_long_ifdef_else_comment = 0
mod_sort_import = false
mod_sort_using = false
mod_sort_include = false
mod_sort_incl_import_prioritize_filename = false
mod_sort_incl_import_prioritize_extensionless = false
mod_sort_incl_import_prioritize_angle_over_quotes = false
mod_sort_incl_import_ignore_extension = false
mod_sort_incl_import_grouping_enabled = false
mod_move_case_break = false
mod_case_brace = remove
mod_remove_empty_return = true
cmt_width = 0
cmt_reflow_mode = 0
cmt_indent_multi = true
cmt_c_group = false
cmt_c_nl_start = false
cmt_c_nl_end = false
cmt_cpp_group = false
cmt_cpp_nl_start = false
cmt_cpp_nl_end = false
cmt_cpp_to_c = false
cmt_star_cont = true
cmt_sp_before_star_cont = 0
cmt_sp_after_star_cont = 0
cmt_multi_check_last = true
cmt_insert_file_header = ""
cmt_insert_file_footer = ""
cmt_insert_func_header = ""
cmt_insert_class_header = ""
cmt_insert_before_preproc = false
pp_indent = remove
pp_indent_at_level = false
pp_indent_count = 1
pp_space_count = 0
pp_indent_region = 0
pp_region_indent_code = false
pp_indent_if = 0
pp_if_indent_code = false
pp_define_at_level = false

View file

@ -2,3 +2,8 @@ require "bundler/setup"
require "rake/extensiontask"
Rake::ExtensionTask.new("hbsdctl.rb")
task default: %w[clobber compile test]
desc "Run C linter"
task :styleguide do
sh "uncrustify -c .styleguide.cfg --no-backup ext/hbsdctl.rb/*.c"
end

View file

@ -8,28 +8,31 @@ get_rb_eError(void)
VALUE rb_mBSD = rb_const_get(rb_cObject, rb_intern("BSD")),
rb_mControl = rb_const_get(rb_mBSD, rb_intern("Control")),
rb_eError = rb_const_get(rb_mControl, rb_intern("Error"));
return rb_eError;
return (rb_eError);
}
static VALUE
ffi_library_version(VALUE self)
{
const char *ver;
ver = hbsdcontrol_get_version();
return rb_str_new2(ver);
return (rb_str_new2(ver));
}
static VALUE
ffi_available_features(VALUE self)
{
const struct pax_feature_entry *entry = &pax_features[0];
VALUE rb_mBSD = rb_const_get(rb_cObject, rb_intern("BSD")),
rb_mControl = rb_const_get(rb_mBSD, rb_intern("Control")),
rb_cFeature = rb_const_get(rb_mControl, rb_intern("Feature")),
features = rb_ary_new(),
feature = 0;
VALUE rb_mBSD = rb_const_get(rb_cObject, rb_intern("BSD")),
rb_mControl = rb_const_get(rb_mBSD, rb_intern("Control")),
rb_cFeature = rb_const_get(rb_mControl, rb_intern("Feature")),
features = rb_ary_new(),
feature = 0;
while (entry->feature != NULL) {
while (entry->feature != NULL)
{
feature = rb_funcall(
rb_cFeature,
rb_intern("new"),
@ -37,13 +40,14 @@ ffi_available_features(VALUE self)
rb_str_new2(entry->feature),
rb_str_new2(entry->extattr[1]),
rb_str_new2(entry->extattr[0])
);
);
rb_ary_push(features, feature);
entry++;
}
return features;
return (features);
}
static VALUE
ffi_reset(VALUE self, VALUE rb_feature, VALUE rb_path)
{
@ -61,9 +65,10 @@ ffi_reset(VALUE self, VALUE rb_feature, VALUE rb_path)
disable_flag = RSTRING_PTR(rb_disable_flag);
r = hbsdcontrol_extattr_rm_attr(path, disable_flag);
r &= hbsdcontrol_extattr_rm_attr(path, enable_flag);
return r == 0 ? Qtrue : Qfalse;
return (r == 0 ? Qtrue : Qfalse);
}
static VALUE
feature_set(VALUE self, VALUE path, VALUE state)
{
@ -83,21 +88,22 @@ feature_set(VALUE self, VALUE path, VALUE state)
cpath,
RSTRING_PTR(name),
NUM2INT(state)
);
);
if (r == 0) {
return Qtrue;
return (Qtrue);
} else {
rb_raise(get_rb_eError(), "hbsdcontrol_set_feature_state failed");
}
}
void
Init_hbsdctl(void)
{
VALUE rb_mBSD = rb_const_get(rb_cObject, rb_intern("BSD")),
rb_mControl = rb_const_get(rb_mBSD, rb_intern("Control")),
rb_cFeature = rb_const_get(rb_mControl, rb_intern("Feature")),
rb_mFFI = rb_const_get(rb_mControl, rb_intern("FFI"));
VALUE rb_mBSD = rb_const_get(rb_cObject, rb_intern("BSD")),
rb_mControl = rb_const_get(rb_mBSD, rb_intern("Control")),
rb_cFeature = rb_const_get(rb_mControl, rb_intern("Feature")),
rb_mFFI = rb_const_get(rb_mControl, rb_intern("FFI"));
rb_define_const(rb_mControl, "Disable", INT2NUM(0));
rb_define_const(rb_mControl, "Enable", INT2NUM(1));