aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/vrend_shader.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/vrend_shader.c b/src/vrend_shader.c
index 08995dd9..13569fda 100644
--- a/src/vrend_shader.c
+++ b/src/vrend_shader.c
@@ -3855,11 +3855,13 @@ translate_load(const struct dump_ctx *ctx,
set_memory_qualifier(ssbo_memory_qualifier, ctx->ssbo_used_mask, inst, inst->Src[0].Register.Index, inst->Src[0].Register.Indirect);
- strcpy(mydst, dst);
- char *wmp = strchr(mydst, '.');
+ const char *d = dst;
+ char *md = mydst;
+ unsigned i = 0;
+ while ((i < sizeof(mydst) - 1) && *d && *d != '.')
+ *md++ = *d++;
+ *md = 0;
- if (wmp)
- wmp[0] = 0;
emit_buff(glsl_strbufs, "ssbo_addr_temp = uint(floatBitsToUint(%s)) >> 2;\n", srcs[1]);
atomic_op[0] = atomic_src[0] = '\0';