diff options
Diffstat (limited to 'winsup/cygwin/tls_pbuf.cc')
-rw-r--r-- | winsup/cygwin/tls_pbuf.cc | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/winsup/cygwin/tls_pbuf.cc b/winsup/cygwin/tls_pbuf.cc deleted file mode 100644 index 1f4b74807..000000000 --- a/winsup/cygwin/tls_pbuf.cc +++ /dev/null @@ -1,59 +0,0 @@ -/* tls_pbuf.cc - - Copyright 2008 Red Hat, Inc. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -#include <winsup.h> -#include <malloc.h> -#include "cygtls.h" -#include "tls_pbuf.h" - -#define tls_pbuf _my_tls.locals.pathbufs - -void -tls_pathbuf::destroy () -{ - for (int i = 0; i < TP_NUM_C_BUFS; ++i) - if (c_buf[i]) - free (c_buf[i]); - for (int i = 0; i < TP_NUM_W_BUFS; ++i) - if (w_buf[i]) - free (w_buf[i]); -} - -tmp_pathbuf::tmp_pathbuf () -: c_buf_old (tls_pbuf.c_cnt), - w_buf_old (tls_pbuf.w_cnt) -{} - -tmp_pathbuf::~tmp_pathbuf () -{ - tls_pbuf.c_cnt = c_buf_old; - tls_pbuf.w_cnt = w_buf_old; -} - -char * -tmp_pathbuf::c_get () -{ - if (tls_pbuf.c_cnt >= TP_NUM_C_BUFS) - api_fatal ("Internal error: TP_NUM_C_BUFS too small."); - if (!tls_pbuf.c_buf[tls_pbuf.c_cnt] - && !(tls_pbuf.c_buf[tls_pbuf.c_cnt] = (char *) malloc (NT_MAX_PATH))) - api_fatal ("Internal error: Out of memory for new path buf."); - return tls_pbuf.c_buf[tls_pbuf.c_cnt++]; -} - -PWCHAR -tmp_pathbuf::w_get () -{ - if (tls_pbuf.w_cnt >= TP_NUM_W_BUFS) - api_fatal ("Internal error: TP_NUM_W_BUFS too small."); - if (!tls_pbuf.w_buf[tls_pbuf.w_cnt] - && !(tls_pbuf.w_buf[tls_pbuf.w_cnt] - = (PWCHAR) malloc (NT_MAX_PATH * sizeof (WCHAR)))) - api_fatal ("Internal error: Out of memory for new wide path buf."); - return tls_pbuf.w_buf[tls_pbuf.w_cnt++]; -} |