Exemple #1
0
bool cN2Prov0501::Algo(int algo, const unsigned char *hd, unsigned char *hw)
{
  if(algo==0x60) {
    hw[0]=hd[0];
    hw[1]=hd[1];
    hw[2]=hd[2]&0xF8;
    ExpandInput(hw);
    hw[63]|=0x80;
    hw[95]=hw[127]=hw[95]&0x7F;
    DoMap(SETSIZE,0,4);
    DoMap(IMPORT_J,hw+0x18);
    DoMap(IMPORT_D,hw+0x20);
    DoMap(IMPORT_B,hw+0x60);
    DoMap(0x37,hw+0x40);
    DoMap(EXPORT_C,hw);
    DoMap(IMPORT_A,hw+0x60);
    DoMap(0x3a);
    DoMap(EXPORT_C,hw+0x20);
    DoMap(0x43);
    DoMap(0x44,hw);
    memcpy(hw,hw+64,20);
    hw[0]&=7;
    DoMap(EXPORT_B,hw+3);
    memset(hw+3+0x20,0,128-(3+0x20));
    return true;
    }

  PRINTF(L_SYS_ECM,"%04X: unknown MECM algo %02x",id,algo);
  return false;
}
Exemple #2
0
bool wxExVariable::Expand(wxExEx* ex, std::string& value)
{
  switch (m_Type)
  {
    case VARIABLE_BUILTIN:
      if (!ExpandBuiltIn(ex, value))
      {
        return false;
      }
      break;
      
    case VARIABLE_ENVIRONMENT:
      {
      wxString val;
      if (!wxGetEnv(m_Name, &val))
      {
        return false;
      }
      value = val;
      }
      break;
      
    case VARIABLE_INPUT:
    case VARIABLE_INPUT_ONCE:
    case VARIABLE_INPUT_SAVE:
      if (!ExpandInput(value))
      {
        return false;
      }
      break;
      
    case VARIABLE_READ:
      value = m_Value;
      break;
      
    case VARIABLE_TEMPLATE:
      if (!wxExViMacros::ExpandTemplate(ex, *this, value))
      {
        return false;
      }
      break;
      
    default: wxFAIL; break;
  }
  
  // If there is a prefix, make a comment out of it.
  if (!m_Prefix.empty())
  {
    value = ex->GetSTC()->GetLexer().MakeComment(m_Prefix, value);
  }
  
  return true;
}