Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/pwdgrp.h')
-rw-r--r--winsup/cygwin/pwdgrp.h115
1 files changed, 0 insertions, 115 deletions
diff --git a/winsup/cygwin/pwdgrp.h b/winsup/cygwin/pwdgrp.h
deleted file mode 100644
index 530adf63a..000000000
--- a/winsup/cygwin/pwdgrp.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/* pwdgrp.h
-
- Copyright 2001 Red Hat inc.
-
- Stuff common to pwd and grp handling.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-enum pwdgrp_state {
- uninitialized = 0,
- initializing,
- emulated,
- loaded
-};
-
-class pwdgrp_check {
- pwdgrp_state state;
- FILETIME last_modified;
- char file_w32[MAX_PATH];
-
-public:
- pwdgrp_check () : state (uninitialized) {}
- operator pwdgrp_state ()
- {
- if (state != uninitialized && file_w32[0] && cygheap->etc_changed ())
- {
- HANDLE h;
- WIN32_FIND_DATA data;
-
- if ((h = FindFirstFile (file_w32, &data)) != INVALID_HANDLE_VALUE)
- {
- if (CompareFileTime (&data.ftLastWriteTime, &last_modified) > 0)
- state = uninitialized;
- FindClose (h);
- }
- }
- return state;
- }
- void operator = (pwdgrp_state nstate)
- {
- state = nstate;
- }
- void set_last_modified (HANDLE fh, const char *name)
- {
- if (!file_w32[0])
- strcpy (file_w32, name);
- GetFileTime (fh, NULL, NULL, &last_modified);
- }
-};
-
-class pwdgrp_read {
- path_conv pc;
- HANDLE fh;
- char *buf;
- char *lptr, *eptr;
-
-public:
- bool open (const char *posix_fname)
- {
- if (buf)
- free (buf);
- buf = lptr = eptr = NULL;
-
- pc.check (posix_fname);
- if (pc.error || !pc.exists () || !pc.isdisk () || pc.isdir ())
- return false;
-
- fh = CreateFile (pc, GENERIC_READ, wincap.shared (), NULL, OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL, 0);
- if (fh)
- {
- DWORD size = GetFileSize (fh, NULL), read_bytes;
- buf = (char *) malloc (size + 1);
- if (!ReadFile (fh, buf, size, &read_bytes, NULL))
- {
- if (buf)
- free (buf);
- buf = NULL;
- CloseHandle (fh);
- fh = NULL;
- return false;
- }
- buf[read_bytes] = '\0';
- return true;
- }
- return false;
- }
- char *gets ()
- {
- if (!buf)
- return NULL;
- if (!lptr)
- lptr = buf;
- else if (!eptr)
- return lptr = NULL;
- else
- lptr = eptr;
- eptr = strchr (lptr, '\n');
- if (eptr)
- *eptr++ = '\0';
- return lptr;
- }
- inline HANDLE get_fhandle () { return fh; }
- inline const char *get_fname () { return pc; }
- void close ()
- {
- if (fh)
- CloseHandle (fh);
- fh = NULL;
- }
-};