Example #1
0
int ndpi_credis_keys(NDPI_REDIS rhnd, const char *pattern, char ***keyv)
{
  int rc = cr_sendfandreceive(rhnd, CR_BULK, "KEYS %s\r\n", pattern);

  if (rc == 0) {
    /* server returns keys as space-separated strings, use multi-bulk 
     * storage to store keys */
    if ((rc = cr_splitstrtromultibulk(rhnd, rhnd->reply.bulk, ' ')) == 0) {
      *keyv = rhnd->reply.multibulk.bulks;
      rc = rhnd->reply.multibulk.len;
    }
  }

  return rc;
}
Example #2
0
int credis_keys(REDIS rhnd, const char *pattern, char ***keyv) 
{
  int rc;

  /* with Redis 2.0.0 keys-command returns a multibulk instead of bulk */
  if (rhnd->version.major >= 2) {
    rc = cr_sendfandreceive(rhnd, CR_MULTIBULK, "KEYS %s\r\n", pattern);
  }
  else {
    if ((rc = cr_sendfandreceive(rhnd, CR_BULK, "KEYS %s\r\n", pattern)) == 0) {
      /* server returns keys as space-separated strings, use multi-bulk
       * storage to store keys */
      rc = cr_splitstrtromultibulk(rhnd, rhnd->reply.bulk, ' ');
    }
  }

  if (rc == 0) {
    *keyv = rhnd->reply.multibulk.bulks;
    rc = rhnd->reply.multibulk.len;
  }

  return rc;
}