diff --git a/registrar.sol b/registrar.sol index b877dad7a8b96224c225518ad786db5dd392e7cb..d2c037a9c873ee941170026c9c21a4a2c5c78a60 100644 --- a/registrar.sol +++ b/registrar.sol @@ -28,14 +28,17 @@ contract GlobalRegistrar is Registrar { function Registrar() { } - function reserve(bytes32 _name) { - if (m_toRecord[_name].owner == 0) { + function reserve(bytes32 _name, address _a) { + if (m_toRecord[_name].owner == 0 && m_toName[_a] == 0) { m_toRecord[_name].owner = msg.sender; + m_toRecord[_name].primary = _a; + m_toName[_a] = _name; Changed(_name); + PrimaryChanged(_name, _a, msg.sender); } } function reserveFor(bytes32 _name, address _owner, address _a) { - if (m_toRecord[_name].owner == 0) { + if (m_toRecord[_name].owner == 0 && m_toName[_a] == 0) { m_toRecord[_name].owner = _owner; m_toRecord[_name].primary = _a; m_toName[_a] = _name;