]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
clean up rend_client_get_random_intro
authorRoger Dingledine <arma@torproject.org>
Thu, 8 Apr 2004 02:11:49 +0000 (02:11 +0000)
committerRoger Dingledine <arma@torproject.org>
Thu, 8 Apr 2004 02:11:49 +0000 (02:11 +0000)
svn:r1552

src/or/rendclient.c

index ecb2eb4a38cb5a56fb9f85aa6f85974ea92921e3..bffe4cf0e9ec7cf24c1b33ed0567b5aa01217bd7 100644 (file)
@@ -266,35 +266,26 @@ int rend_cmp_service_ids(char *one, char *two) {
  * point of query. return NULL if error.
  */
 char *rend_client_get_random_intro(char *query) {
-  const char *descp;
-  int desc_len;
   int i;
   smartlist_t *sl;
-  rend_service_descriptor_t *parsed;
   char *choice;
   char *nickname;
+  rend_cache_entry_t *entry;
 
-  if(rend_cache_lookup_desc(query, &descp, &desc_len) < 1) {
+  if(rend_cache_lookup_entry(query, &entry) < 1) {
     log_fn(LOG_WARN,"query '%s' didn't have valid rend desc in cache. Failing.", query);
     return NULL;
   }
 
-  parsed = rend_parse_service_descriptor(descp,desc_len);
-  if (!parsed) {
-    log_fn(LOG_WARN,"Couldn't parse service descriptor");
-    return NULL;
-  }
-
   sl = smartlist_create();
 
   /* add the intro point nicknames */
-  for(i=0;i<parsed->n_intro_points;i++)
-    smartlist_add(sl,parsed->intro_points[i]);
+  for(i=0;i<entry->parsed->n_intro_points;i++)
+    smartlist_add(sl,entry->parsed->intro_points[i]);
 
   choice = smartlist_choose(sl);
   nickname = tor_strdup(choice);
   smartlist_free(sl);
-  rend_service_descriptor_free(parsed);
   return nickname;
 }