mirror of
https://github.com/bitwarden/help
synced 2025-12-23 03:33:20 +00:00
Promote to Master (#748)
* initial commit
* adding quotes for the array error
* Create Gemfile
* Create Gemfile.lock
* add .nvmrc and .node-version
* removed /article from URL
* update links to work with netlify
* more fixed links
* link fixes
* update bad links
* Update netlify.toml
toml test for redirects
* article redirect
* link fixes
* Update index.html
* Update netlify.toml
* Update _config.yml
* Update netlify.toml
* Update netlify.toml
* Update netlify.toml
* Update netlify.toml
* Update netlify.toml
* add article back into URL for launch
* Update netlify.toml
* Update netlify.toml
* add order to categories front matter
* Update netlify.toml
* update
* sidemenu update
* Revert "sidemenu update"
This reverts commit 5441c3d35c.
* update order prop
* Navbar updates per Gary and compiler warnings
* font/style tweaks
* Update sidebar.html
* Stage Release Documentation (#739)
* initial drafts
* rewrite Custom Fields article to prioritize new context-menu option & better organize ancillary information
* edit
* edit
* Custom Field Context Menu & CAPTCHA item in release notes
* SSO relink event
* update rn
* small edits
* improve release notes titles
* fix side menu
* Edits courtest of mportune!
* update order
* link fixes
* link cleanup
* image updates and a link
* fix trailing slash
Co-authored-by: DanHillesheim <79476558+DanHillesheim@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
63f78e8979
commit
906e2ca0dd
124
vendor/bundle/ruby/2.6.0/gems/eventmachine-1.2.7/ext/binder.cpp
vendored
Normal file
124
vendor/bundle/ruby/2.6.0/gems/eventmachine-1.2.7/ext/binder.cpp
vendored
Normal file
@@ -0,0 +1,124 @@
|
||||
/*****************************************************************************
|
||||
|
||||
$Id$
|
||||
|
||||
File: binder.cpp
|
||||
Date: 07Apr06
|
||||
|
||||
Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
|
||||
Gmail: blackhedd
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of either: 1) the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version; or 2) Ruby's License.
|
||||
|
||||
See the file COPYING for complete licensing information.
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
#include "project.h"
|
||||
|
||||
#define DEV_URANDOM "/dev/urandom"
|
||||
|
||||
|
||||
std::map<uintptr_t, Bindable_t*> Bindable_t::BindingBag;
|
||||
|
||||
|
||||
/********************************
|
||||
STATIC Bindable_t::CreateBinding
|
||||
********************************/
|
||||
|
||||
uintptr_t Bindable_t::CreateBinding()
|
||||
{
|
||||
static uintptr_t num = 0;
|
||||
while(BindingBag[++num]) {}
|
||||
return num;
|
||||
}
|
||||
|
||||
#if 0
|
||||
string Bindable_t::CreateBinding()
|
||||
{
|
||||
static int index = 0;
|
||||
static string seed;
|
||||
|
||||
if ((index >= 1000000) || (seed.length() == 0)) {
|
||||
#ifdef OS_UNIX
|
||||
int fd = open (DEV_URANDOM, O_RDONLY);
|
||||
if (fd < 0)
|
||||
throw std::runtime_error ("No entropy device");
|
||||
|
||||
unsigned char u[16];
|
||||
size_t r = read (fd, u, sizeof(u));
|
||||
if (r < sizeof(u))
|
||||
throw std::runtime_error ("Unable to read entropy device");
|
||||
|
||||
unsigned char *u1 = (unsigned char*)u;
|
||||
char u2 [sizeof(u) * 2 + 1];
|
||||
|
||||
for (size_t i=0; i < sizeof(u); i++)
|
||||
sprintf (u2 + (i * 2), "%02x", u1[i]);
|
||||
|
||||
seed = string (u2);
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef OS_WIN32
|
||||
UUID uuid;
|
||||
UuidCreate (&uuid);
|
||||
unsigned char *uuidstring = NULL;
|
||||
UuidToString (&uuid, &uuidstring);
|
||||
if (!uuidstring)
|
||||
throw std::runtime_error ("Unable to read uuid");
|
||||
seed = string ((const char*)uuidstring);
|
||||
|
||||
RpcStringFree (&uuidstring);
|
||||
#endif
|
||||
|
||||
index = 0;
|
||||
|
||||
|
||||
}
|
||||
|
||||
stringstream ss;
|
||||
ss << seed << (++index);
|
||||
return ss.str();
|
||||
}
|
||||
#endif
|
||||
|
||||
/*****************************
|
||||
STATIC: Bindable_t::GetObject
|
||||
*****************************/
|
||||
|
||||
Bindable_t *Bindable_t::GetObject (const uintptr_t binding)
|
||||
{
|
||||
std::map<uintptr_t, Bindable_t*>::const_iterator i = BindingBag.find (binding);
|
||||
if (i != BindingBag.end())
|
||||
return i->second;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/**********************
|
||||
Bindable_t::Bindable_t
|
||||
**********************/
|
||||
|
||||
Bindable_t::Bindable_t()
|
||||
{
|
||||
Binding = Bindable_t::CreateBinding();
|
||||
BindingBag [Binding] = this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***********************
|
||||
Bindable_t::~Bindable_t
|
||||
***********************/
|
||||
|
||||
Bindable_t::~Bindable_t() NO_EXCEPT_FALSE
|
||||
{
|
||||
BindingBag.erase (Binding);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user