tree c70ad1ceac5fd59850c73ced6f7bf2b7ec553dc5
parent 5e1b195d1f19aa8ecb943a55d421186c693c4298
author k-stachowiak <krzysiek.stachowiak@gmail.com> 1558597607 +0200
committer k-stachowiak <krzysiek.stachowiak@gmail.com> 1565930290 +0200

Return from the test and utility examples via exit()

All the core examples have been modified not to return from main
by the means of the return statement, but rather via exit() function,
which was done to make the examples more bare metal friendly.

This commit, for the sake of consistency, introduces the modifications
to the test and utility examples. These, while less likely to be used
in the low level environments, won't suffer from such a change.
