+#endif /* HEAD_IN_SAND_MAP */
+
+#ifdef HEAD_IN_SAND_LINKS
+void map_dump_links_head_in_sand(struct Client *sptr, char *mask)
+{
+ struct Map *link = 0;
+ struct Map *slink = 0;
+ struct Client *acptr = 0;
+
+ collapse(mask);
+
+ for(link = MapList; link; link = slink)
+ {
+ slink = link->next;
+
+ if(link->lasttime < TStime() - MAP_CACHE_TIME)
+ {
+ acptr = FindServer(link->name);
+ if(!acptr)
+ {
+ map_remove(link);
+ continue;
+ }
+ else
+ map_update(acptr);
+ }
+ if (!BadPtr(mask) && match(mask, link->name))
+ continue;
+ send_reply(sptr, RPL_LINKS, link->name, cli_name(&me), 1, link->prot,
+ link->info);
+ }
+ /* don't forget to send me */
+ send_reply(sptr, RPL_LINKS, cli_name(&me), cli_name(&me), 0, Protocol(&me),
+ cli_info(&me));
+}
+#endif /* HEAD_IN_SAND_LINKS */