Comments (30)
Cool. I will upload an official fix at https://www.nifty-networks.net/swirc/windows.html
. For some reason _get_pgmptr()
returns an empty string on your system, but only in Swirc (because we tested with a small C program).
from swirc.
Ok. Strange. Are you sure that the name hasn't been changed? The name should be 'swirc.exe' in all lower case, including the file extension 'exe'. Try to rename it from the Windows command prompt using the command 'ren' or 'rename'. Type 'ren /?' to see the command syntax. For example if the name is currently 'swirc.EXE' try 'ren swirc.EXE swirc.exe'.
from swirc.
Because the name check was there in the previous version too...
from swirc.
Perhaps I can remove the check completely or make it less strict. But try using 'ren'.
from swirc.
The file name is correct. The MSI package does not work after installation, which is strange, I didnt rename anything. Moreover, the same package works fine in another Windows installation (21H2 if I remember correctly). What can be the reason of this behavior beyond file name itself?
from swirc.
Not sure yet.
The code is here:
Line 578 in e1ad838
Line 579 in e1ad838
Line 580 in e1ad838
from swirc.
Maybe _get_pgmptr() returns something unexpected or its behavior has changed. But if 3.3.5 works it's strange because that code is in 3.3.5 too.
from swirc.
Maybe it returns something like c:/path/to/swirc/swirc.exe instead of c:\path\to\swirc\swirc.exe thus strstr() returns NULL.
from swirc.
Don't know if it's possible to rename a file to '\swirc.exe' under Windows, I currently don't have access to my Windows laptop, but you could try that and see if it works.
from swirc.
if it's possible to rename a file to '\swirc.exe' under Windows
It is not possible, \
is a path separator character in Windows systems.
from swirc.
Yeah, thought so :\
from swirc.
btw Windows is not case-sensitive, you can type executable name in capitals and it will run. I cannot guarantee OS returns filename as it is in file system, it can uppercase it maybe.
if you changed building toolchain it may affect this too
from swirc.
Yes, but strstr() is case-sensitive. Perhaps I should replace it with strcasestr(). But it would've been good to know what _get_pgmptr() stores/outputs on your system. I suspect it's something with the path separators. But does 3.3.5 work fine?
from swirc.
The last working version for me seems to be 3.3.3… If there ever will be out-of-the-box-portable versions I will try to play around more. I see you've added libintl/libidn, maybe the mess around with filenames?
from swirc.
Yeah, 3.3.3 didn't have that code... I will fix this when I have access to my Windows computer. Thanks for reporting. But it would've been nice to see what the output of _get_pgmptr() is on your system. I can compile a small program that does it, but not right now, no Windows environment currently...
from swirc.
I compiled a small program that shows the output of _get_pgmptr(), if you can put the exe in the same dir as swirc and run it and tell me the output of it, would've been good. I attach both the c source and the exe.
pgmptr.zip
from swirc.
i:\_tools_\_internet_\Swirc\pgmptr.exe
Type <RETURN> to exit
from swirc.
Ok, hmm, it looks correct/like expected. Can you send me swirc.exe in i:\_tools_\_internet_\Swirc\
? I think you need to zip it in order to attach it here.
from swirc.
I can recommend 7-zip for Windows. But you are probably an advanced user so you know already. :)
from swirc.
I really suspect that the actual name of swirc.exe isn't really swirc.exe, maybe it's swirc.EXE, after I saw the output of pgmptr. This can be fixed easily.
from swirc.
That's the only possibility. I will close this with a small fix if you don't respond (maybe it's night there). And I will build a new .msi which I will upload at https://www.nifty-networks.net/swirc/windows.html including the fix.
from swirc.
My system should not substitute extensions case, AFAIK… dir
in CMD and ls
in Powershell show same case. BTW, I have systemwide UTF-8 support enabled in Windows and have non-english locale, maybe that matters in conjunction with libintl
…
What version of swirc.exe
you need, 3.3.6? here
from swirc.
Yeah, 3.3.6
from swirc.
Nothing with libintl, the failing part is the strstr() call
from swirc.
It doesn't find the substring \swirc.exe
(case-sensitive) in the string returned by _get_pgmptr()
.
from swirc.
I currently don't have access to my Windows environment again. But I will test to use strcasestr() instead. I leave the issue open... Thanks again for reporting.
from swirc.
I created a new installer with the strcasestr() change. Can you try it and see if it works?
It's here:
https://www.nifty-networks.net/swirc/tmp/Swirc-3.3.6.msi
from swirc.
Still does not work.
from swirc.
Ok, I think I know the problem now.
https://www.nifty-networks.net/swirc/tmp/asdf/Swirc-3.3.6.msi
That one works, right?
from swirc.
Yes, it does run.
from swirc.
Related Issues (10)
- Doesn't build on linux because ncursesw could not be found. HOT 5
- Resizing the window leads to a fatal error/crash on Windows 10 HOT 2
- UTF-8 support HOT 4
- Window support like irssi? HOT 3
- Can you add a "DESTDIR" HOT 13
- Issues with protocol colon escaping. HOT 3
- /cycle fails when a channel key is in use. HOT 3
- Reproducible crash from protocol fuzzing HOT 1
- E-Mail HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swirc.