| @@ -145,14 +145,40 @@ AddHead(const char *displayName) | |||
| /* save the info for this head */ | |||
| { | |||
| struct head *h = &Heads[NumHeads]; | |||
| const char * tmp; | |||
| if (strlen(displayName) + 1 > sizeof(h->DisplayName)) { | |||
| Error(displayName, "displayName string length overflow"); | |||
| return NULL; | |||
| } | |||
| strcpy(h->DisplayName, displayName); | |||
| h->Dpy = dpy; | |||
| h->Win = win; | |||
| h->Context = ctx; | |||
| h->Angle = 0.0; | |||
| strcpy(h->Version, (char *) glGetString(GL_VERSION)); | |||
| tmp = (char *) glGetString(GL_VERSION); | |||
| if (strlen(tmp) + 1 > sizeof(h->Version)) { | |||
| Error(displayName, "GL_VERSION string length overflow"); | |||
| return NULL; | |||
| } | |||
| strcpy(h->Version, tmp); | |||
| tmp = (char *) glGetString(GL_VENDOR); | |||
| if (strlen(tmp) + 1 > sizeof(h->Vendor)) { | |||
| Error(displayName, "GL_VENDOR string length overflow"); | |||
| return NULL; | |||
| } | |||
| strcpy(h->Vendor, (char *) glGetString(GL_VENDOR)); | |||
| tmp = (char *) glGetString(GL_RENDERER); | |||
| if (strlen(tmp) + 1 > sizeof(h->Renderer)) { | |||
| Error(displayName, "GL_RENDERER string length overflow"); | |||
| return NULL; | |||
| } | |||
| strcpy(h->Renderer, (char *) glGetString(GL_RENDERER)); | |||
| NumHeads++; | |||
| return &Heads[NumHeads-1]; | |||
| } | |||