On Mon, 23 Feb 2009, Simon Josefsson wrote: > const char *libssh2_check_version (int req_version_num); > > Which could be used by applications like this: > > if (!libssh2_check_version (LIBSSH2_VERSION_NUM)) { > fprintf (stderr, "Runtime libssh2 version too old!\n"); > exit(1); > }
Right, that's a neat approach that I like. > if (debug) { > printf ("libssh2 %s\n", libssh2_check_version (0)); > } > > And the string could look something like: > > "1.0.1-CVS/gnutls/libz" > "1.0.0/openssl" > "1.0.0/openssl/libz" Hm, I'm not entirely happy with that: I want to show the libssh2 version number when used by an app. I'm not so sure I want that app to show or even care about the openssl/libz situation there, even if I can think that in other situations the app or other users of libssh2 might care. Alas, I'd like to get the "1.0.0" separately from "openssl/gnutls/libz"... So what do you think about this: const char *libssh2_version(int req_version_num, const char **extra); So if 'extra' isn't NULL, it gets set to a pointer with "openssl/libz" style info and the function returns "1.0.1_CVS" ? It still makes it possible to do things like: if (!libssh2_version(LIBSSH2_VERSION_NUM, NULL)) { fprintf (stderr, "Runtime libssh2 version too old!\n"); exit(1); } -- / daniel.haxx.se ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ libssh2-devel mailing list libssh2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libssh2-devel