let OpenSC compile without OpenSSL and without SM
use _setmode instead of _set_fmode in windows

now compiles with MinGW-w64
Formatting with spaces and returns in hex dump.
Fix a bug when writing public key
fixed PACE reader capability flag
initialize sm_ctx with 0s for iso7816 driver
reader-pcsc.c: fixed pin checking when implicitly given
reader-pcsc.c: fixed implicit pin modification

Allows the application to only initialize pin2 for implicit pin
modification and to leave pin1 untouched.
libopensc: assertion fails on calling fclose() on a NULL filehandle

From @geoffbeier:
(https://github.com/OpenSC/OpenSC/pull/171#issuecomment-20407132)

So it sounds like the right fix is to:

 * check the return value of sc_ctx_log_to_file() and have sc_do_log_va()
   return if it's anything other than SC_SUCCESS.
 * Inside sc_ctx_log_to_file() make sure to set ctx->debug_file to NULL
   whenever it does call fclose() on it.
 * Inside sc_do_log_va() where it currently calls fclose() check
   if(ctx->debug_file && ctx->debug_file != stdout &&ctx->debug_file != stderr)
make: change make order of SM components

to respect dependencies
libopensc: for hex dump in debug messages ...

use dedicated log procedure that uses a static dump buffer

inspired by pull request #164 of Frank Morgner
https://github.com/OpenSC/OpenSC/pull/164
use enough memory for pin verification/modification structure
Use C99 flexible array member

The structures PIN_MODIFY_STRUCTURE and PIN_VERIFY_STRUCTURE now use a
C99 flexible array member when available for abData field.

uint8_t abData[];

See http://lists.alioth.debian.org/pipermail/pcsclite-cvs-commit/2013-May/006191.html
enable compiler warnings by default
fixed even more compiler warnings
Onepin profile stopped to work after commit 10e1ad001d

Cards formatted with one-pin profile can not be used (for modification
of the data on the card with pkcs15-init -X for example) after this
commit, which prevent the reading of 5015/4946 (containing the
profile).

The part of the code was simply commented out without comment.
Maybe it was used for testing purposes, and not removed for
the commit ?
By default 'default' card driver is disabled ...

'Default' card driver is explicitely enabled for 'opensc-explorer' and 'opensc-tool' tools.
https://github.com/OpenSC/OpenSC/pull/175