summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2011-09-30 20:19:44 -0700
committerAlan Coopersmith <alan.coopersmith@oracle.com>2011-09-30 20:19:44 -0700
commit39bbb6265aa79c1ff3d787f5e23c8cb5f13bd6c1 (patch)
treee85b1d8ddbda62f72e7deebb33f7f48dc5aaad40
parenta70f4e6f7243e9e6803b3308a15c9cf3a77ee383 (diff)
Make CS dynamically allocated
We still allocate one ConnState struct for every possible FD up front instead of resizing as needed. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
-rw-r--r--server.c2
-rw-r--r--table11.c3
-rw-r--r--x11.h2
3 files changed, 5 insertions, 2 deletions
diff --git a/server.c b/server.c
index 77e77ca..a65eaee 100644
--- a/server.c
+++ b/server.c
@@ -53,7 +53,7 @@
struct TypeDef TD[MaxTypes];
unsigned char RBf[2];
unsigned char SBf[4];
-struct ConnState CS[StaticMaxFD];
+struct ConnState *CS;
/* ************************************************************ */
/* */
diff --git a/table11.c b/table11.c
index 56658b2..a3c4735 100644
--- a/table11.c
+++ b/table11.c
@@ -107,6 +107,9 @@ static int PrintVISUALTYPE(const unsigned char *buf);
void
InitializeX11 (void)
{
+ CS = calloc(MaxFD, sizeof(struct ConnState));
+ if (CS == NULL)
+ panic("unable to allocate ConnState table");
InitReplyQ();
InitBuiltInTypes();
diff --git a/x11.h b/x11.h
index 7303e1d..90f0e33 100644
--- a/x11.h
+++ b/x11.h
@@ -508,7 +508,7 @@ struct ConnState
long SequenceNumber;
};
-extern struct ConnState CS[StaticMaxFD];
+extern struct ConnState *CS;
typedef struct _Value {
struct _Value *next;