[PD] A quick question for C dev - temp file on windows

Pierre Alexandre Tremblay tremblap at gmail.com
Thu Jun 23 16:54:30 CEST 2022


Ok the problem is simple: tcl accepts only path separated with ‘/‘ in windows but sys_bashfilename doesn’t convert the (adequately) created windows separator. So I’ll do a character substitutor.

Objvously the code is free and online so people can have a look or I can post here if that helps

> On 23 Jun 2022, at 14:48, Christof Ressi <info at christofressi.com> wrote:
> 
> Generally, Pd only uses forward slashes as file path seperators. You can use sys_bashfilename() on the path generated by tempnam().
> 
> On 23.06.2022 15:36, Pierre Alexandre Tremblay wrote:
>> Hello
>> 
>> In an external I use the superb tmpnam(x) to generate a temp file path to use and delete. All is good then… for MacOS and Linux that is! In Windows, the code in C does create a file but when I try to pass it to TCL to open there, like in the amazing ELSE’s pic, I can’t - the inverted backslash are deleted. I tried also, like in else, using open_canvas to no avail.
>> 
>> Now I tried to use on windows the ELSE’s pic to troubleshoot and it seems I have 2 problems:
>> 
>> #1:
>> 
>> - PIC will accept the file I create when it is on the Documents folder, but not the exact same file in the temp folder created by tmpnam. So this will work:
>> open C:/Users/pa/Documents/tmp.0.8eDtGO
>> 
>> But not this:
>> open C:/Users/pa/appData/Local/tmp.0.8eDtGO
>> 
>> ===
>> 
>> #2
>> 
>> - PIC will only accept with straight slashes /
>> 
>> C:\Users\pa\Documents\tmp.0.8eDtGO
>> 
>> Won’t work but
>> 
>> C:/Users/pa/Documents/tmp.0.8eDtGO’
>> 
>> will
>> 
>> ===
>> 
>> So I wonder if there are pearls of wisdom on temp file generation for cross OS compile. At the moment, if I use the PIC hack of going through canvas_open I get a ‘void’ name, and if I don’t I get errors due to the backslash not being digested by TCL (it seems - the error is as above)
>> 
>> p
>> 
>> Ps Alexandre, without you and your code, this object would not exist, so 39402940923 thanks!
>> 
>> 
>> _______________________________________________
>> Pd-list at lists.iem.at mailing list
>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
> 
> 
> 
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list






More information about the Pd-list mailing list