diff options
author | Jeffrey Hutzelman <jhutz@cmu.edu> | 2012-11-25 16:12:19 -0500 |
---|---|---|
committer | Jeffrey Hutzelman <jhutz@cmu.edu> | 2013-02-17 22:34:40 -0500 |
commit | 5f860ea89afb6c51b87e905d7354c7353d0a4066 (patch) | |
tree | 5097e0858d0d3a50245fa7db48df100be6bfe315 /server/zserver.h | |
parent | c62bf1b7533ad07647828b82ad1600200378f492 (diff) |
Use interned strings for realm and server names
Use interned strings instead of strdup() and fixed-size arrays for names
of other realms and their servers. This gives immediate improvement in
the form of doing fewer string compares when loading the realm.list,
plus the obvious benefit of eliminating some fixed char arrays. It also
paves the way for efficiently identifying existing realms and servers to
be updated when reloading the realm.list.
Diffstat (limited to 'server/zserver.h')
-rw-r--r-- | server/zserver.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/server/zserver.h b/server/zserver.h index bb1f722..6cefe5d 100644 --- a/server/zserver.h +++ b/server/zserver.h @@ -112,14 +112,15 @@ struct _Destlist { }; struct _ZRealm_server { - char *name; /* server's hostname */ + String *name; /* server's hostname */ struct sockaddr_in addr; /* server's address */ unsigned int usable :1; /* set once entry is usable */ unsigned int dontsend :1; /* private server, do not send */ }; struct _ZRealm { - char name[REALM_SZ]; + String *namestr; /* realm's name */ + char *name; /* always namestr->string */ int count; ZRealm_server *srvrs; int idx; /* which server we are connected to */ @@ -132,7 +133,7 @@ struct _ZRealm { }; struct _ZRealmname { - char name[REALM_SZ]; + String *name; struct _ZRealm_server *servers; int nused; int nservers; |