Skip to content
Snippets Groups Projects
version.c 2.42 KiB
Newer Older
  • Learn to ignore specific revisions
  • Daniel Stenberg's avatar
    Daniel Stenberg committed
    /*****************************************************************************
     *                                  _   _ ____  _     
     *  Project                     ___| | | |  _ \| |    
     *                             / __| | | | |_) | |    
     *                            | (__| |_| |  _ <| |___ 
     *                             \___|\___/|_| \_\_____|
     *
     *  The contents of this file are subject to the Mozilla Public License
     *  Version 1.0 (the "License"); you may not use this file except in
     *  compliance with the License. You may obtain a copy of the License at
     *  http://www.mozilla.org/MPL/
     *
     *  Software distributed under the License is distributed on an "AS IS"
     *  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
     *  License for the specific language governing rights and limitations
     *  under the License.
     *
     *  The Original Code is Curl.
     *
     *  The Initial Developer of the Original Code is Daniel Stenberg.
     *
     *  Portions created by the Initial Developer are Copyright (C) 1998.
     *  All Rights Reserved.
     *
     * ------------------------------------------------------------
     * Main author:
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
     * - Daniel Stenberg <daniel@haxx.se>
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
     *
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
     * 	http://curl.haxx.se
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
     *
     * $Source$
     * $Revision$
     * $Date$
     * $Author$
     * $State$
     * $Locker$
     *
     * ------------------------------------------------------------
     ****************************************************************************/
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    #include <string.h>
    #include <stdio.h>
    
    #include <curl/curl.h>
    #include "urldata.h"
    
    char *curl_version(void)
    {
      static char version[200];
      char *ptr;
    #if defined(USE_SSLEAY)
      static char sub[2];
    #endif
      strcpy(version, LIBCURL_NAME " " LIBCURL_VERSION );
      ptr=strchr(version, '\0');
    
    #ifdef USE_SSLEAY
    
    #if (SSLEAY_VERSION_NUMBER >= 0x900000)
    
      sprintf(ptr, " (SSL %lx.%lx.%lx)",
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
              (SSLEAY_VERSION_NUMBER>>28)&0xff,
              (SSLEAY_VERSION_NUMBER>>20)&0xff,
              (SSLEAY_VERSION_NUMBER>>12)&0xf);
    #else
      if(SSLEAY_VERSION_NUMBER&0x0f) {
        sub[0]=(SSLEAY_VERSION_NUMBER&0x0f) + 'a' -1;
      }
      else
        sub[0]=0;
    
      sprintf(ptr, " (SSL %x.%x.%x%s)",
              (SSLEAY_VERSION_NUMBER>>12)&0xff,
              (SSLEAY_VERSION_NUMBER>>8)&0xf,
              (SSLEAY_VERSION_NUMBER>>4)&0xf, sub);
    
    #endif
      ptr=strchr(ptr, '\0');
    #endif
    
    
    #ifdef KRB4
      sprintf(ptr, " (krb4 enabled)");
      ptr += strlen(ptr);
    #endif
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    #ifdef USE_ZLIB
      sprintf(ptr, " (zlib %s)", zlibVersion());
    
      ptr += strlen(ptr);
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    #endif
    
      return version;
    }