Property definitions

md5 :: md5 $ CString :: native_md5
	private fun native_md5: CString `{
		md5_state_t state;
		md5_byte_t digest[16]; /* result */
		char *hex_output = malloc(33*sizeof(char));
		int di;

		md5_init(&state);
		md5_append(&state, (const md5_byte_t *)self, (int)strlen(self));
		md5_finish(&state, digest);

		for (di = 0; di < 16; ++di)
			sprintf(hex_output + di * 2, "%02x", digest[di]);
		hex_output[32] = '\0';

		return hex_output;
	`}
lib/md5/md5.nit:504,2--519,3