On 03/10/2015 06:42 PM, Brian Paul wrote: > We were already using strdup() in various places in Mesa. Get rid > of the _mesa_strdup() wrapper. All the callers pass a non-NULL > argument so the NULL check isn't needed either. > --- > src/mesa/main/imports.c | 18 ------------------ > src/mesa/main/imports.h | 3 --- > src/mesa/main/objectlabel.c | 2 +- > src/mesa/main/shaderapi.c | 2 +- > src/mesa/main/transformfeedback.c | 2 +- > src/mesa/program/prog_instruction.c | 2 +- > src/mesa/program/prog_parameter.c | 2 +- > src/mesa/program/prog_statevars.c | 2 +- > src/mesa/program/program.c | 6 +++---
A quick 'grep -lr _mesa_strdup src/ | sort' shows the following files: src/gallium/state_trackers/glx/xlib/glx_api.c src/mesa/drivers/x11/fakeglx.c src/mesa/main/imports.c src/mesa/main/imports.h src/mesa/main/objectlabel.c src/mesa/main/shaderapi.c src/mesa/main/transformfeedback.c src/mesa/program/prog_instruction.c src/mesa/program/prog_parameter.c src/mesa/program/program.c src/mesa/program/prog_statevars.c It looks like you missed a couple: src/gallium/state_trackers/glx/xlib/glx_api.c src/mesa/drivers/x11/fakeglx.c > 9 files changed, 9 insertions(+), 30 deletions(-) > > diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c > index a7ffe22..ac8deeb 100644 > --- a/src/mesa/main/imports.c > +++ b/src/mesa/main/imports.c > @@ -481,24 +481,6 @@ _mesa_half_to_float(GLhalfARB val) > /** \name String */ > /*@{*/ > > -/** > - * Implemented using malloc() and strcpy. > - * Note that NULL is handled accordingly. > - */ > -char * > -_mesa_strdup( const char *s ) > -{ > - if (s) { > - size_t l = strlen(s); > - char *s2 = malloc(l + 1); > - if (s2) > - strcpy(s2, s); > - return s2; > - } > - else { > - return NULL; > - } > -} > > /** Compute simple checksum/hash for a string */ > unsigned int > diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h > index 7921000..ee6b399 100644 > --- a/src/mesa/main/imports.h > +++ b/src/mesa/main/imports.h > @@ -448,9 +448,6 @@ _mesa_half_is_negative(GLhalfARB h) > return h & 0x8000; > } > > -extern char * > -_mesa_strdup( const char *s ); > - > extern unsigned int > _mesa_str_checksum(const char *str); > > diff --git a/src/mesa/main/objectlabel.c b/src/mesa/main/objectlabel.c > index 78df96b..aecb5b1 100644 > --- a/src/mesa/main/objectlabel.c > +++ b/src/mesa/main/objectlabel.c > @@ -76,7 +76,7 @@ set_label(struct gl_context *ctx, char **labelPtr, const > char *label, > MAX_LABEL_LENGTH); > > /* null-terminated string */ > - *labelPtr = _mesa_strdup(label); > + *labelPtr = strdup(label); > } > } > } > diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c > index 5731d58..3ea76af 100644 > --- a/src/mesa/main/shaderapi.c > +++ b/src/mesa/main/shaderapi.c > @@ -1460,7 +1460,7 @@ read_shader(const char *fname) > > fclose(f); > > - shader = _mesa_strdup(buffer); > + shader = strdup(buffer); > free(buffer); > > return shader; > diff --git a/src/mesa/main/transformfeedback.c > b/src/mesa/main/transformfeedback.c > index a3e23ce..ce678c8 100644 > --- a/src/mesa/main/transformfeedback.c > +++ b/src/mesa/main/transformfeedback.c > @@ -762,7 +762,7 @@ _mesa_TransformFeedbackVaryings(GLuint program, GLsizei > count, > > /* Save the new names and the count */ > for (i = 0; i < count; i++) { > - shProg->TransformFeedback.VaryingNames[i] = _mesa_strdup(varyings[i]); > + shProg->TransformFeedback.VaryingNames[i] = strdup(varyings[i]); > } > shProg->TransformFeedback.NumVarying = count; > > diff --git a/src/mesa/program/prog_instruction.c > b/src/mesa/program/prog_instruction.c > index 6a9bcb7..f9ebe4e 100644 > --- a/src/mesa/program/prog_instruction.c > +++ b/src/mesa/program/prog_instruction.c > @@ -89,7 +89,7 @@ _mesa_copy_instructions(struct prog_instruction *dest, > memcpy(dest, src, n * sizeof(struct prog_instruction)); > for (i = 0; i < n; i++) { > if (src[i].Comment) > - dest[i].Comment = _mesa_strdup(src[i].Comment); > + dest[i].Comment = strdup(src[i].Comment); > } > return dest; > } > diff --git a/src/mesa/program/prog_parameter.c > b/src/mesa/program/prog_parameter.c > index 5939f6f..cdfe251 100644 > --- a/src/mesa/program/prog_parameter.c > +++ b/src/mesa/program/prog_parameter.c > @@ -148,7 +148,7 @@ _mesa_add_parameter(struct gl_program_parameter_list > *paramList, > > for (i = 0; i < sz4; i++) { > struct gl_program_parameter *p = paramList->Parameters + oldNum + i; > - p->Name = name ? _mesa_strdup(name) : NULL; > + p->Name = name ? strdup(name) : NULL; > p->Type = type; > p->Size = size; > p->DataType = datatype; > diff --git a/src/mesa/program/prog_statevars.c > b/src/mesa/program/prog_statevars.c > index 57b25a7..0c0c87f 100644 > --- a/src/mesa/program/prog_statevars.c > +++ b/src/mesa/program/prog_statevars.c > @@ -1045,7 +1045,7 @@ _mesa_program_state_string(const gl_state_index > state[STATE_LENGTH]) > break; > } > > - return _mesa_strdup(str); > + return strdup(str); > } > > > diff --git a/src/mesa/program/program.c b/src/mesa/program/program.c > index 61a9e97..3c214d5 100644 > --- a/src/mesa/program/program.c > +++ b/src/mesa/program/program.c > @@ -79,7 +79,7 @@ _mesa_init_program(struct gl_context *ctx) > STATIC_ASSERT(NUM_TEXTURE_TARGETS <= (1 << 4)); > > ctx->Program.ErrorPos = -1; > - ctx->Program.ErrorString = _mesa_strdup(""); > + ctx->Program.ErrorString = strdup(""); > > ctx->VertexProgram.Enabled = GL_FALSE; > ctx->VertexProgram.PointSizeEnabled = > @@ -176,7 +176,7 @@ _mesa_set_program_error(struct gl_context *ctx, GLint > pos, const char *string) > free((void *) ctx->Program.ErrorString); > if (!string) > string = ""; > - ctx->Program.ErrorString = _mesa_strdup(string); > + ctx->Program.ErrorString = strdup(string); > } > > > @@ -483,7 +483,7 @@ _mesa_clone_program(struct gl_context *ctx, const struct > gl_program *prog) > assert(clone->Target == prog->Target); > assert(clone->RefCount == 1); > > - clone->String = (GLubyte *) _mesa_strdup((char *) prog->String); > + clone->String = (GLubyte *) strdup((char *) prog->String); > clone->Format = prog->Format; > clone->Instructions = _mesa_alloc_instructions(prog->NumInstructions); > if (!clone->Instructions) { > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev