Annotation of sbbs/sbbs3/ver.cpp, revision 1.1

1.1     ! root        1: /* ver.cpp */
        !             2: 
        !             3: /* Synchronet version display */
        !             4: 
        !             5: /* $Id: ver.cpp,v 1.9 2000/12/15 17:39:01 rswindell Exp $ */
        !             6: 
        !             7: /****************************************************************************
        !             8:  * @format.tab-size 4          (Plain Text/Source Code File Header)                    *
        !             9:  * @format.use-tabs true       (see http://www.synchro.net/ptsc_hdr.html)              *
        !            10:  *                                                                                                                                                     *
        !            11:  * Copyright 2000 Rob Swindell - http://www.synchro.net/copyright.html         *
        !            12:  *                                                                                                                                                     *
        !            13:  * This program is free software; you can redistribute it and/or                       *
        !            14:  * modify it under the terms of the GNU General Public License                         *
        !            15:  * as published by the Free Software Foundation; either version 2                      *
        !            16:  * of the License, or (at your option) any later version.                                      *
        !            17:  * See the GNU General Public License for more details: gpl.txt or                     *
        !            18:  * http://www.fsf.org/copyleft/gpl.html                                                                                *
        !            19:  *                                                                                                                                                     *
        !            20:  * Anonymous FTP access to the most recent released source is available at     *
        !            21:  * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net     *
        !            22:  *                                                                                                                                                     *
        !            23:  * Anonymous CVS access to the development source and modification history     *
        !            24:  * is available at cvs.synchro.net:/cvsroot/sbbs, example:                                     *
        !            25:  * cvs -d :pserver:[email protected]:/cvsroot/sbbs login                       *
        !            26:  *     (just hit return, no password is necessary)                                                     *
        !            27:  * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src                *
        !            28:  *                                                                                                                                                     *
        !            29:  * For Synchronet coding style and modification guidelines, see                                *
        !            30:  * http://www.synchro.net/source.html                                                                          *
        !            31:  *                                                                                                                                                     *
        !            32:  * You are encouraged to submit any modifications (preferably in Unix diff     *
        !            33:  * format) via e-mail to [email protected]                                                                      *
        !            34:  *                                                                                                                                                     *
        !            35:  * Note: If this box doesn't appear square, then you need to fix your tabs.    *
        !            36:  ****************************************************************************/
        !            37: 
        !            38: #include "sbbs.h"
        !            39: 
        !            40: #define BETA           " "     /* Space if non-beta, " beta" otherwise */
        !            41: 
        !            42: #if defined(_WINSOCKAPI_)
        !            43:        extern WSADATA WSAData;
        !            44: #endif
        !            45: 
        !            46: #if defined(__unix__)
        !            47:        #include <sys/utsname.h>        /* uname() */
        !            48: #endif
        !            49: 
        !            50: void sbbs_t::ver()
        !            51: {
        !            52:        char str[128],compiler[32];
        !            53: 
        !            54:        CRLF;
        !            55:        strcpy(str,VERSION_NOTICE);
        !            56: #if defined(_DEBUG)
        !            57:        strcat(str,"Debug");
        !            58: #endif
        !            59:        center(str);
        !            60:        CRLF;
        !            61: 
        !            62:        COMPILER_DESC(compiler);
        !            63: 
        !            64:        sprintf(str,"Revision %c%s %s %.5s  "
        !            65:                "SMBLIB %s  %s"
        !            66:                ,REVISION,BETA,__DATE__,__TIME__
        !            67:                ,smb_lib_ver(),compiler);
        !            68: 
        !            69:        center(str);
        !            70:        CRLF;
        !            71: 
        !            72:        sprintf(str,"%s - http://www.synchro.net", COPYRIGHT_NOTICE);
        !            73:        center(str);
        !            74:        CRLF;
        !            75: 
        !            76: #if defined(_WINSOCKAPI_)
        !            77: 
        !            78:        center(WSAData.szDescription);
        !            79:        CRLF;
        !            80: 
        !            81: #endif
        !            82: 
        !            83: #if defined(__OS2__) && defined(__BORLANDC__)
        !            84: 
        !            85:        sprintf(str,"OS/2 %u.%u (%u.%u)",_osmajor/10,_osminor/10,_osmajor,_osminor);
        !            86: 
        !            87: #elif defined(_WIN32)
        !            88: 
        !            89:        /* Windows Version */
        !            90:        char*                   winflavor=nulstr;
        !            91:        OSVERSIONINFO   winver;
        !            92: 
        !            93:        winver.dwOSVersionInfoSize=sizeof(winver);
        !            94:        GetVersionEx(&winver);
        !            95: 
        !            96:        switch(winver.dwPlatformId) {
        !            97:                case VER_PLATFORM_WIN32_NT:
        !            98:                        winflavor="NT ";
        !            99:                        break;
        !           100:                case VER_PLATFORM_WIN32s:
        !           101:                        winflavor="Win32s ";
        !           102:                        break;
        !           103:                case VER_PLATFORM_WIN32_WINDOWS:
        !           104:                        winver.dwBuildNumber&=0xffff;
        !           105:                        break;
        !           106:        }
        !           107: 
        !           108:        sprintf(str,"Windows %sVersion %u.%02u (Build %u) %s"
        !           109:                        ,winflavor
        !           110:                        ,winver.dwMajorVersion, winver.dwMinorVersion
        !           111:                        ,winver.dwBuildNumber,winver.szCSDVersion);
        !           112: 
        !           113: #elif defined(__unix__)
        !           114: 
        !           115:        struct utsname unixver;
        !           116: 
        !           117:        if(uname(&unixver)!=0)
        !           118:                sprintf(str,"Unix (uname errno: %d)",errno);
        !           119:        else
        !           120:                sprintf(str,"%s %s %s"
        !           121:                        ,unixver.sysname        /* e.g. "Linux" */
        !           122:                        ,unixver.release        /* e.g. "2.2.14-5.0" */
        !           123:                        ,unixver.machine        /* e.g. "i586" */
        !           124:                        );
        !           125: 
        !           126: #else  /* DOS && __BORLANDC__*/
        !           127: 
        !           128:        sprintf(str,"DOS %u.%02u",_osmajor,_osminor);
        !           129: 
        !           130: #endif
        !           131: 
        !           132:        center(str);
        !           133: }
        !           134: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.