<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
C code:<br><br>    m.swap32 = swapped ? swap32 : no_swap32;<br>    m.swap64 = swapped ? swap64 : no_swap64;<br>    m.macho_header_size = m64 ? sizeof(macho_header64_t) : sizeof(macho_header32_t);<br><br><br>Modula-3?<br><br><br>  file.swap32 := no_swap32;<br>  file.swap64 := no_swap64;<br>  IF swapped THEN<br>    file.swap32 := swap32;<br>    file.swap64 := swap64;<br>  END;<br>  file.header_size := (ORD(m64) * BYTESIZE(header64_t)) + (ORD(NOT m64) * BYTESIZE(header32_t));<br><br><br><br>I don't like either of those forms nor<br><br><br>  IF swapped THEN<br>
    file.swap32 := swap32;<br>
    file.swap64 := swap64;<br>
  ELSE<br>
    file.swap32 := no_swap32;<br>

    file.swap64 := no_swap64;<br>

  END;<br>
<br><br>If static type inference was more prevalent, I wouldn't mind like:<br><br><br>    m.swap32 = {no_swap32, swap32}[ORD(swapped)];<br>
    m.swap64 = {no_swap64, swap64}[ORD(swapped)];<br>
    m.macho_header_size = {sizeof(macho_header32_t), sizeof(macho_header64_t)}[ORD m64];<br>
<br><br>but I assume {no_swap32, swap32} has to be a typed constant...<br><br><br> - Jay<br>                                     </body>
</html>