home *** CD-ROM | disk | FTP | other *** search
/ ftp.ncftp.com / ftp.ncftp.com.zip / ftp.ncftp.com / ncftp / older_versions / ncftp-3.2.2-src.tar.bz2 / ncftp-3.2.2-src.tar / ncftp-3.2.2 / libncftp / u_getusr.c < prev    next >
C/C++ Source or Header  |  2008-07-13  |  663b  |  36 lines

  1. /* u_getusr.c
  2.  *
  3.  * Copyright (c) 1996-2005 Mike Gleason, NcFTP Software.
  4.  * All rights reserved.
  5.  *
  6.  */
  7.  
  8. #include "syshdrs.h"
  9. #ifdef PRAGMA_HDRSTOP
  10. #    pragma hdrstop
  11. #endif
  12.  
  13. #define _CRT_SECURE_NO_WARNINGS 1
  14.  
  15. void
  16. GetUsrName(char *dst, size_t size)
  17. {
  18. #if (defined(WIN32) || defined(_WINDOWS)) && !defined(__CYGWIN__)
  19.     DWORD size1;
  20.  
  21.     size1 = size - 1;
  22.     if (! GetUserName(dst, &size1))
  23.         (void) strncpy(dst, "unknown", size);
  24.     dst[size - 1] = '\0';
  25. #else
  26.     struct passwd pw;
  27.     char pwbuf[256];
  28.  
  29.     if (GetMyPwEnt(&pw, pwbuf, sizeof(pwbuf)) == 0) {
  30.         (void) Strncpy(dst, pw.pw_name, size);
  31.     } else {
  32.         (void) Strncpy(dst, "UNKNOWN", size);
  33.     }
  34. #endif
  35. }    /* GetUserName */
  36.