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:
authorCorinna Vinschen <corinna@vinschen.de>2003-05-20 21:39:46 +0400
committerCorinna Vinschen <corinna@vinschen.de>2003-05-20 21:39:46 +0400
commit44be819760c1cf2dc37a50a5c5766fabb389e94b (patch)
tree9e7636c0d8fc5c5afd8f8ab237460e493302352d /winsup/cygwin/fhandler_socket.cc
parentd4f3ce316cf6c5e3f1d7a6af1a2721f851be8879 (diff)
* fhandler_socket.cc (secret_event_name): Return void. Use incoming
char *parameter instead of local static buffer. (fhandler_socket::create_secret_event): Accomodate new calling convention for secret_event_name. (fhandler_socket::close_secret_event): Ditto.
Diffstat (limited to 'winsup/cygwin/fhandler_socket.cc')
-rw-r--r--winsup/cygwin/fhandler_socket.cc17
1 files changed, 8 insertions, 9 deletions
diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc
index 452299be0..2e4c5ea2c 100644
--- a/winsup/cygwin/fhandler_socket.cc
+++ b/winsup/cygwin/fhandler_socket.cc
@@ -43,17 +43,14 @@ int sscanf (const char *, const char *, ...);
fhandler_dev_random* entropy_source;
-static char *
-secret_event_name (short port, int *secret_ptr)
+static void
+secret_event_name (char *buf, short port, int *secret_ptr)
{
- static NO_COPY char buf[MAX_PATH] = {0};
-
__small_sprintf (buf, "%scygwin.local_socket.secret.%d.%08x-%08x-%08x-%08x",
wincap.has_terminal_services () ? "Global\\" : "",
port,
secret_ptr [0], secret_ptr [1],
secret_ptr [2], secret_ptr [3]);
- return buf;
}
/* cygwin internal: map sockaddr into internet domain address */
@@ -251,8 +248,8 @@ fhandler_socket::create_secret_event (int* secret)
return NULL;
}
- char *event_name = secret_event_name (sin.sin_port,
- secret ?: connect_secret);
+ char event_name[MAX_PATH];
+ secret_event_name (event_name, sin.sin_port, secret ?: connect_secret);
LPSECURITY_ATTRIBUTES sec = get_inheritance (true);
secret_event = CreateEvent (sec, FALSE, FALSE, event_name);
if (!secret_event && GetLastError () == ERROR_ALREADY_EXISTS)
@@ -291,8 +288,10 @@ fhandler_socket::close_secret_event ()
int
fhandler_socket::check_peer_secret_event (struct sockaddr_in* peer, int* secret)
{
- char *event_name = secret_event_name (peer->sin_port,
- secret ?: connect_secret);
+
+ char event_name[MAX_PATH];
+
+ secret_event_name (event_name, peer->sin_port, secret ?: connect_secret);
HANDLE ev = CreateEvent (&sec_all_nih, FALSE, FALSE, event_name);
if (!ev && GetLastError () == ERROR_ALREADY_EXISTS)
{