// recursive key copy DWORD TSHReg::CopyKey(HKEY hkeySrc, LPCTSTR szSrcSubKey, HKEY hkeyDest, DWORD fReserved) { static TModuleProc4<DWORD,HKEY,LPCTSTR,HKEY,DWORD> copyKey(GetModule(), CopyKeyStr); return copyKey(hkeySrc, szSrcSubKey, hkeyDest, fReserved); }
int isValidKeyfile(FILE *keyfile, char *a[], int max_period){ char s[30]; int i = 0; int pi = 0; while(!feof(keyfile)){ fgets(s, 29, keyfile); if(!feof(keyfile)){ if(strlen(s) != 27){ fprintf(stderr, "Error: Invalid Key File\n"); return -1; } for(i = 0; i < 26; i++){ if(s[i] < 'a' || s[i] > 'z'){ break; } } if(s[i + 1] != 0 && s[i] != '\n'){ fprintf(stderr, "Error: Invalid Key File\n"); return -1; } if(pi < max_period){ a[pi] = malloc(sizeof(char) * 26); copyKey(a[pi], s); pi++; } } } return pi; }
bool increment(llong* id, valvec<byte>* key) override { auto owner = static_cast<const MockWritableIndex*>(m_index.get()); if (nark_likely(owner->m_kv.begin() != m_iter)) { --m_iter; *id = m_iter->second; copyKey(m_iter->first, key); return true; } return false; }
bool increment(llong* id, valvec<byte>* key) override { auto owner = static_cast<const MockWritableIndex*>(m_index.get()); SpinRwLock lock(owner->m_rwMutex, false); if (terark_likely(owner->m_kv.end() != m_iter)) { *id = m_iter->second; copyKey(m_iter->first, key); ++m_iter; return true; } return false; }
void RouterKeygen::rightButtonClicked(QObject *obj, const QPoint &pos) { if (obj == ui->passwordsList) { if (ui->passwordsList->count() == 0) return; if (ui->passwordsList->selectedItems().size() == 0) return; QMenu *menu = new QMenu(); QAction * copy = new QAction(tr("Copy"), this); copy->setShortcut(QKeySequence::Copy); copy->setStatusTip(tr("Copy this key")); connect(copy, SIGNAL(triggered()), this, SLOT(copyKey())); menu->addAction(copy); menu->exec(pos); } }
int seekLowerBound(fstring key, llong* id, valvec<byte>* retKey) override { auto owner = static_cast<const MockWritableIndex*>(m_index.get()); auto kv = std::make_pair(makeKey<Key>(key), 0LL); auto iter = owner->m_kv.lower_bound(kv); m_iter = iter; if (owner->m_kv.end() != iter) { ++m_iter; *id = iter->second; copyKey(iter->first, retKey); if (iter->first == kv.first) return 0; else return 1; } return -1; }
int seekLowerBound(fstring key, llong* id, valvec<byte>* retKey) override { auto owner = static_cast<const MockWritableIndex*>(m_index.get()); auto kv = std::make_pair(makeKey<Key>(key), 0LL); SpinRwLock lock(owner->m_rwMutex, false); auto iter = owner->m_kv.upper_bound(kv); if (owner->m_kv.begin() != iter) { m_iter = --iter; *id = iter->second; copyKey(iter->first, retKey); if (iter->first == kv.first) return 0; else return 1; } else { m_iter = iter; return -1; } }
/** parseEnVar * Input: * char *env -> the environment variable to parse * Output: * int *n the number of key/val pairs parsed * Envar * -> structure containing key/val pairs */ Envar *parseEnVar(char *env, int *n) { Envar *c = NULL; int nc = 0; char *cookiestr = NULL; if (!env) { *n = 0; return NULL; } /* add ; to end of string for easier parsing */ cookiestr = malloc(strlen(env) + 2); sprintf(cookiestr, "%s;", env); env = cookiestr; while (*env) { char *next = strstr(env, ";"); if (next) { /* Get this token */ c = realloc(c, sizeof(Envar)*(nc + 1)); c[nc].key = copyKey(env); c[nc].val = copyVal(env); nc++; /* find next token */ env = next + 1; while (*env && isspace(*env)) env++; } } /* Clean up crumbs! */ free(cookiestr); *n = nc; return c; }