X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: RayeR Newsgroups: comp.os.msdos.djgpp Subject: How to change SFN filename case in crt0 flags - is it possible (FAT32, WinXP) Date: Tue, 22 May 2012 01:56:11 -0700 (PDT) Organization: http://groups.google.com Lines: 23 Message-ID: NNTP-Posting-Host: 78.45.168.2 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1337677418 23185 127.0.0.1 (22 May 2012 09:03:38 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: Tue, 22 May 2012 09:03:38 +0000 (UTC) Complaints-To: groups-abuse AT google DOT com Injection-Info: m10g2000vbn.googlegroups.com; posting-host=78.45.168.2; posting-account=Q0wMHAoAAADjYrghh94FTf6YnbpTqZgp User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14,gzip(gfe) Bytes: 2293 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hi, when compiling MuPDF 0.9 I tracked the folowing issue related to SFN/ LFN. Authors of makefile building tools are relying on preserve of filename case - 100% case sensitivity when they use cmapdump.exe tool that generate some charmaps from multiple files to single file containing array constants names by files taking a * wildcard. Other source file is linked to this names and as you know the C is 100% case sensitive and here you see the birth of evil. As we know, when filename match the rules of SFN on FAT32 it doesn't need to have a LFN entry. Out beloved M$ cannot decide itself how to handle it so they use uppercase on Win9X system and lowercase on WinNT systems to make us have a fun. I need to enforce uppercase behavior. It seems to work this way for Mingw console programs but not for DOS LFN aware programs. Is there some flag in crt0 for functions parsing argv[] to uppercase SFNs without LFN entry? Example, I have this files: "78-EUC-H" (SFN) "78ms-RKSJ-H" (LFN) "Roman" (SFN+LFN) And I want to get in argv[] this names with unchanged case (instead of I'm getting "78-euc-h") Is it possible to solve it on both Win9x and NT systems?