From 3c2a74980e362807bb6c06d11185558cd50f7e7a Mon Sep 17 00:00:00 2001 From: Joshua Davies Date: Tue, 19 Jun 2018 14:35:44 +0200 Subject: [PATCH] Append pid to spectator filename, if form -M --- sources/spectator.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sources/spectator.c b/sources/spectator.c index 235c5f3b..a1d55821 100644 --- a/sources/spectator.c +++ b/sources/spectator.c @@ -123,12 +123,24 @@ int CoCreateSpectator(UBYTE *inp) while ( *q && ( *q == ',' || *q == ' ' || *q == '\t' ) ) q++; if ( *q ) goto Syntax; cc = *p; *p = 0; + +/* + Append pid if AM.MultiRun. Allocate space for supplied name + '.' + 5 digits + '\0' +*/ + char *filename2 = Malloc1(sizeof(filename) + 1 + 1 + 5, "MultiRun Spectator filename"); + if ( AM.MultiRun ) { + sprintf(filename2, "%s.%d", filename, ((int)GetPID())%100000); + } + else { + sprintf(filename2, "%s", filename); + } /* Now we need to: create a struct for the spectator file. */ if ( HadOne == 0 ) numexpr = EntVar(CEXPRESSION,inp,SPECTATOREXPRESSION,0,0,0); - fh = AllocFileHandle(1,(char *)filename); + fh = AllocFileHandle(1,(char *)filename2); + M_free(filename2, "MultiRun Spectator filename"); /* Make sure there is space in the AM.spectatorfiles array */