gethostname.c - enscript - GNU Enscript
 (HTM) git clone git://thinkerwim.org/enscript.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       gethostname.c (1544B)
       ---
            1 /*
            2  * Replacement for the gethostname function for micro ports.
            3  * Copyright (c) 1996, 1996, 1997 Markku Rossi.
            4  *
            5  * Author: Markku Rossi <mtr@iki.fi>
            6  *
            7  * WIN32 changes by Dave Hylands <DHylands@creo.com>
            8  */
            9 
           10 /*
           11  * This file is part of GNU Enscript.
           12  *
           13  * Enscript is free software: you can redistribute it and/or modify
           14  * it under the terms of the GNU General Public License as published by
           15  * the Free Software Foundation, either version 3 of the License, or
           16  * (at your option) any later version.
           17  *
           18  * Enscript is distributed in the hope that it will be useful,
           19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
           20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
           21  * GNU General Public License for more details.
           22  *
           23  * You should have received a copy of the GNU General Public License
           24  * along with Enscript.  If not, see <http://www.gnu.org/licenses/>.
           25  */
           26 
           27 #include <stdio.h>
           28 #include <string.h>
           29 
           30 #if defined( WIN32 )
           31 /*
           32  * Define WIN32_LEAN_AND_MEAN so that we don't include WINSOCK.H which
           33  * has a conflicting definition of gethostname.
           34  */
           35 #define        WIN32_LEAN_AND_MEAN
           36 #include <windows.h>
           37 #endif
           38 
           39 int
           40 gethostname (name, namelen)
           41      char *name;
           42      int namelen;
           43 {
           44 #if defined( WIN32 )
           45         char computerName[ MAX_COMPUTERNAME_LENGTH + 1 ];
           46         DWORD len = sizeof computerName;
           47 
           48         if ( GetComputerName (computerName, &len))
           49         {
           50                 strncpy (name, computerName, namelen);
           51         }
           52         else
           53         {
           54         strncpy (name, "pc", namelen);
           55         }
           56         name[ namelen - 1 ] = 0;
           57 
           58 #else
           59         strncpy (name, "pc", namelen);
           60 #endif
           61   return 0;
           62 }