tree bebf08735b30adc311515161627b5878dcb2a79c
parent 74e999ceb2b49cf499c00799fae4b5069e4b2e7c
author Oliver Smith <osmith@sysmocom.de> 1689586807 +0200
committer Oliver Smith <osmith@sysmocom.de> 1689586878 +0200

skeletons: fix misleading indentations

After upgrading our CI environment to use Debian 12 with
GCC 12, it complains about the following misleading indentations in
generated code in osmo-remsim.git. Fix it to be able to compile with
--enable-werror again.

../../../../src/osmo-remsim/src/rspro/INTEGER.c: In function ‘INTEGER_decode_aper’:
../../../../src/osmo-remsim/src/rspro/INTEGER.c:774:33: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
  774 |                                 if((specs && specs->field_unsigned)
      |                                 ^~
../../../../src/osmo-remsim/src/rspro/INTEGER.c:778:41: note: ...this statement, but the latter is misleadingly indented as if it were guarded by t
he ‘if’
  778 |                                         ASN_DEBUG("Got value %ld + low %lld",
      |                                         ^~~~~~~~~
cc1: all warnings being treated as errors
../../../../src/osmo-remsim/src/rspro/constr_CHOICE.c: In function ‘CHOICE_encode_aper’:
../../../../src/osmo-remsim/src/rspro/constr_CHOICE.c:1134:17: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
 1134 |                 if(per_put_few_bits(po, present, ct->range_bits))
      |                 ^~
../../../../src/osmo-remsim/src/rspro/constr_CHOICE.c:1137:25: note: ...this statement, but the latter is misleadingly indented as if it were guard
ed by the ‘if’
 1137 |                         return elm->type->aper_encoder(elm->type, elm->per_constraints,
      |                         ^~~~~~
cc1: all warnings being treated as errors
../../../../src/osmo-remsim/src/rspro/per_decoder.c: In function ‘aper_decode’:
../../../../src/osmo-remsim/src/rspro/per_decoder.c:161:9: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
  161 |         if(!td->aper_decoder)
      |         ^~
../../../../src/osmo-remsim/src/rspro/per_decoder.c:163:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded
by the ‘if’
  163 |                 rval = td->aper_decoder(opt_codec_ctx, td, 0, sptr, &pd);
      |                 ^~~~

Related: OS#6057
Change-Id: I2260df8f8ab8eaf5c2aac3c330f87dba4691c01e
