rust source #1

c source #2