+ short_name=name;
+}
+
+void Host::set_name(const string &n)
+{
+ name=n;
+
+ if(local)
+ {
+ unsigned dot=name.find('.');
+ short_name=name.substr(0, dot);
+ }
+ else
+ {
+ unsigned dot=name.size();
+ for(unsigned i=0; (dot>0 && dot!=string::npos); ++i)
+ {
+ unsigned prev=name.rfind('.', dot-1);
+ if(prev+15<name.size() && i>1)
+ break;
+ dot=prev;
+ }
+
+ if(dot==string::npos)
+ short_name=name;
+ else
+ short_name="..."+name.substr(dot+1);
+ }
+}
+
+void Host::set_local(bool l)
+{
+ local=l;