summaryrefslogtreecommitdiff
path: root/xc/extras/Mesa/src/glapi.c
diff options
context:
space:
mode:
authorbrianp <brianp>2000-03-29 18:48:11 +0000
committerbrianp <brianp>2000-03-29 18:48:11 +0000
commitcfa61c8cd843e8d0f393f3ef52a5ee545e467404 (patch)
tree2ecbefdbc2be410d1c5f9675271190139572d859 /xc/extras/Mesa/src/glapi.c
parentb09ee5ef891e838f1370592744543401ba32a916 (diff)
added replacement for non-standard strdup()
Diffstat (limited to 'xc/extras/Mesa/src/glapi.c')
-rw-r--r--xc/extras/Mesa/src/glapi.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/xc/extras/Mesa/src/glapi.c b/xc/extras/Mesa/src/glapi.c
index c5eea74be..75e778f10 100644
--- a/xc/extras/Mesa/src/glapi.c
+++ b/xc/extras/Mesa/src/glapi.c
@@ -72,6 +72,18 @@ static _glthread_TSD ContextTSD;
static GLuint MaxDispatchOffset = sizeof(struct _glapi_table) / sizeof(void *) - 1;
static GLboolean GetSizeCalled = GL_FALSE;
+/* strdup is actually not a standard ANSI C or POSIX routine
+ Irix will not define it if ANSI mode is in effect. */
+static char *str_dup(const char *str)
+{
+ char *copy;
+ copy = (char*) malloc(strlen(str) + 1);
+ if (!copy)
+ return NULL;
+ strcpy(copy, str);
+ return copy;
+}
+
/*
@@ -1331,7 +1343,7 @@ _glapi_add_entrypoint(const char *funcName, GLuint offset)
if (!entrypoint)
return GL_FALSE;
- ExtEntryTable[NumExtEntryPoints].Name = strdup(funcName);
+ ExtEntryTable[NumExtEntryPoints].Name = str_dup(funcName);
ExtEntryTable[NumExtEntryPoints].Offset = offset;
ExtEntryTable[NumExtEntryPoints].Address = entrypoint;
NumExtEntryPoints++;
@@ -1376,7 +1388,7 @@ _glapi_add_entrypoint2(const char *funcName)
entryPoint = generate_entrypoint(offset);
if (entryPoint) {
NextFreeOffset++;
- ExtEntryTable[NumExtEntryPoints].Name = strdup(funcName);
+ ExtEntryTable[NumExtEntryPoints].Name = str_dup(funcName);
ExtEntryTable[NumExtEntryPoints].Offset = offset;
ExtEntryTable[NumExtEntryPoints].Address = entryPoint;
NumExtEntryPoints++;