Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Rich Walsh

Pages: [1] 2 3 ... 6
Here is the back and forth discussion regarding FS_FINDFIRST/FS_FINDNEXT:

It's hard to understand why there should ever have been a "back and forth" in the first place: none of this is subject to debate.

You write a test program that incorporates the various scenarios, run it against one or more files on an *HPFS* formatted disk, then alter your own IFS to produce the same results as HPFS. Period, end of discussion. It doesn't matter if the results you get are good, bad, or just stupid - they are what the OS and programs like 'unpack.exe' were built to expect.

Note: I consider HPFS to be the reference IFS as it is the only filesystem that is pure IBM and has not been altered by well-meaning but potentially ill-informed third parties.

Quote from: Rich Walsh
Just to confirm: if your IFS receives a request for the total size of all EAs (FIL_QUERYEASIZE), and you want to indicate that their are no EAs, are you returning '4' (and not '0')? Returning zero is the most common coding error when handling EAs.

What do you mean? cbList field? It is always returned to be 0. (It is so in vboxfs.ifs, fat32.ifs and ramfs.ifs/emsfs.ifs). Why it should be 4?

First, I assume that the 'cbList' field you are referring to is the one at the end of the FILESTATUS4 structure. In a properly functioning IFS, the following call will return a value of 4 in 'cbList' if 'pFilename' refers to a file with no EAs:

DosQueryPathInfo(pFilename, FIL_QUERYEASIZE, &fs4, sizeof(FILESTATUS4));

The documentation for this function and DosQueryFileInfo() is misleading. You would think it says that the size of the EAs will be returned - but that is incorrect. It actually returns the size of the FEA2LIST structure that is needed to hold all EAs. That structure is the size of all EAs *PLUS* a ULONG (named 'cbList') that identifies the total size of the variable-length structure. Thus, the correct size of an FEA2LIST for a file with no EAs is 0 + 4.

I knew this is a common error because I had to fix it in ISOFS in order to install ArcaOS from an ISO image file. The problem showed up when the installer tried to run IBM's ancient 'unpack.exe'. Even though it knew a given pack file had no EAs, it still queried them using the undocumented Level 4 argument (FIL_QUERYALLEAS). It interpreted a value of zero as 65536 and complained that the EAs were too large (since they can be no more than 65535 bytes). I doubt anyone had ever seen this error before because I know of no other program stupid enough to ask for something it knows doesn't exist.

So, the problem is with something other.

That may be true, but returning 0 in cblist is still incorrect. Write a simple test program and point it to a file on a JFS, HPFS, or even FAT drive to confirm this. BTW... AN's version of FAT32 also returns 4.

I have mostly implemented returning empty EA list in some IFS functions, so, in theory, WPS should show a folder listing in "Drives" object. In practice, it shows it sometimes, and sometimes it shows a "No objects were found that  matched the specified match criteria" dialog. Some other problem occurs. No idea yet, why.

Just to confirm: if your IFS receives a request for the total size of all EAs (FIL_QUERYEASIZE), and you want to indicate that their are no EAs, are you returning '4' (and not '0')? Returning zero is the most common coding error when handling EAs.

Applications / Re: XWP Dutch Translation
« on: June 21, 2019, 11:30:27 pm »
I do know that my version 1.0.8 did go deep into the system, had a lot of trouble after installation. Don't want that again. So how easy is it to install?

Since v1.0.8 was released on June 7, 2008, there have been 311 updates to XWP. Roughly 230 of those were bug fixes or enhancements. IMHO, XWP v1.0.12 is vastly more stable and somewhat more functional than 1.0.8.

This is particularly true if you use the Lite version. It was created to let eWP users enjoy these improvements without having to deal with the buggy, badly designed features that Mensys was wise to leave out of eWP. Since they probably removed too much, XWP-Lite restores a few stable features that users have asked for such as XWPStartup folders.

Installation is simple: download the file, double-click on it, let WarpIn install it and restart the Desktop. Unlike 10 years ago, you only need to d/l one file - your NLS version contains everything you need. If you are upgrading from eWP you're done. If you currently have the "full" version, be aware that you will have a few dead icons for stuff that isn't included such as the XWP Setup folder. You can either delete them yourself or you can run Checkini to do the cleanup for you.

Applications / Re: XWP Dutch Translation
« on: June 19, 2019, 05:41:12 pm »
André, thanks for your help! It looks like a lot of the items on my list didn't need to be translated after all, and the ones you did were the phrases I was most interested in. I recognize that translation can be difficult when you don't have a clear understanding of the context but in some cases that is impossible to provide. In particular, "any CPU @ 100%" is for a new feature no one has ever seen: an alternate graph for the Pulse CPU meter intended for multi-core systems.

BTW... if you are still running eWP, you should try XWP-Lite. Basically, it's the same as eWP but with a couple of useful features added back in and a HUGE number of bug fixes. And of course, it's available in Dutch:

Applications / XWP Dutch Translation
« on: June 16, 2019, 10:12:18 pm »
I'm (slowly) preparing for a new release of XWP and trying to get the various NLS versions updated. Unfortunately, I no longer have a Dutch translator, so I'd like to ask the Dutch speakers in this forum for some help.

I wrote a REXX script to compare the English and Dutch versions of the main language file and found that there were far more untranslated phrases in Dutch than any other language. I don't know if the translation work was never done, or if Dutch computer users have simply adopted more English phrases than other languages. I was able to get my list down to 92 items and have attached it to this posting.

What I'd like are translations that reflect contemporary Dutch computer usage. I'm definitely not looking for "linguistic purity" - if an "OK" button in English is labelled "OK" in Dutch, that's fine. When you're done, please attach the translated file to a post in this thread (please don't put its contents in the body of your posting). Also, feel free to review the work of other translators and suggest alternate translations if appropriate.

Thanks for your help.

BTW... I may have to ask for your help again after I review other language-specific files - I just haven't gotten that far yet and 92 phrases is more than enough for now :)

Utilities / Re: Create an ISO from a CD
« on: June 04, 2019, 08:18:43 am »
There are two ways to do this if you have DVD Tools installed: the "right" way and the quick-and-dirty way.

From a command prompt, run:  "readcd dev=0,1,0 -f=test.iso -retries=32"
Replace the 'dev' value with the SCSI bus address used by your drive, and change the filename ('-f') to whatever you want. If needed, run "readcd -scanbus" to get the SCSI address.


Run the "Copy Disk" app from DVD Tools to copy the disk. When it finishes reading, it will prompt you to replace the disk with a blank one. Instead, open your %TEMP% directory (usually 'x:\var\temp') where you will find a very large file whose name is all hex digits (i.e. 0-9 + A-F). Move this somewhere else and rename it, then cancel the copy.

FYI... if you do this the "right" way, Copy Disk is still helpful: it displays the SCSI bus address as part of the "Source Drive" identifier.

'rwIni' is the REXX interface to a library I wrote for 'IFX'. The library provides full read/write access to OS/2 INI files without using any of the standard PM Profile functions.

For IFX, this was needed because it examines your 'os2.ini' and 'os2sys.ini' before PM starts. For ANPM, the need was very different. It appears that there is a system-wide limit on the amount of memory INI files can use. When that limit is reached, INI file operations become unreliable and the system may become unstable.

IIUC, Alex found that when ANPM opened his very large WarpIN database, his system reached that limit. Using rwIni let him work around that limit since it operates independently of PM.

rwIni should be pretty easy to use. It's "rwIni" function is nearly identical to "SysIni". The major difference is that you must explicitly open and close the INI file you want to edit. Also, rwIni can only be used with "private" INI files - it will refuse to open 'os2.ini' or 'os2sys.ini'.

'' is attached. See 'rwIni.txt' for details.

Setup & Installation / Re: Installing ArcaOS on a GPT formatted disk
« on: February 28, 2019, 05:35:55 pm »
The impression that I (and others) have is that Boot Manager shows up while AirBoot doesn't because BM does an explicit video mode switch while AB doesn't. Therefore, you need something to force that mode switch. So, try this:

Try booting with your ArcaOS install DVD in your optical drive. Does its menu (i.e. "Boot from hard drive"/"Install ArcaOS") show up? If so, select "Boot from hard drive". My _guess_ is that AirBoot will now be visible.

Applications / Re: mozturbo
« on: December 23, 2018, 04:36:35 pm »
[...] after considering whether to make it a PM app.

Please don't! Currently it can be launched as a background daemon (e.g. "detach ffturbo") which uses almost no memory on its own. I can't see how making it a PM app adds anything useful.

Creating a couple of program objects to launch and terminate it makes more sense to me:
Path and file name: 'cmd.exe'
Parameters: '/c detach ffturbo -l'  [..or..]   '/c ffturbo -u'
Working directory: [your FF directory]

Applications / Re: SeaMonkey 2.42.9 CPU spiking
« on: December 16, 2018, 05:07:12 pm »
I've tried all three of Dave's builds (o2, o3, and o3s) and all of them exhibit the following behaviour (both with my migrated profile and with a completely new, blank profile).  As long as SeaMonkey is running, the CPU spikes to 100% every 14 seconds, for about 3 seconds each time.

First and foremost, disable Chatzilla when not in use. Just before posting this, I was getting those spikes and realized CZ was still enabled from yesterday. After disabling it, all cores went to 0%

I've been using Dave's -o2 build for 6 months and it has never generated a '.trp' file. It _has_ silently disappeared - usually a sign of a libc panic. However, since I started using 'mozturbo.exe' to work around the hi-mem memory leak, that hasn't happened again. SM still has major problems but stability isn't one of them (for me, at least).

Internet / Seamonkey UserAgent String
« on: October 30, 2018, 10:21:33 am »
I've been trying to change the useragent string in Seamonkey (Dave's build of 2.42.9esr/rv45.9) but it won't stay changed. When I close and reopen SM, it reverts to the "correct" string.

I installed "User Agent Switcher", imported a list of current strings, then tried it and found this problem. I've also tried editing 'prefs.js' directly (with SM closed), as well as changing "browser.startup.homepage_override.mstone" and "gecko.mstone". In every case, a restart restores all 3 entries to their original values. I'm not setting the new string to anything extraordinary: I'm just changing the existing OS/2 SM string to SM 2.46/rv49.0. Any ideas?

FWIW... I got started on this because I can no longer access my Google Voice page. This was previously the single-worst page I've ever encountered and could bring my system to a halt for minutes at a time. Now I just get its "waiting spinner" until it says it's done, but nothing is displayed. Strangely, the failure started shortly after I answered a brief survey and said I had to use the legacy version of the page because the current version has too much javascript. Now, I can't access either one.

Applications / Re: Seamonkey versions
« on: October 18, 2018, 03:34:22 pm »
Usually built with -O3, maximum optimization, the plain r3 version. People asked for other versions to test, the r3_O2 version is built with -O2, highly optimized but often safer (stabler) and the r3_s  version is built with -Os, optimized for size, then speed, perhaps best on memory restrained systems.
As I said, they were sort of experimental as someone questioned my using -O3 so I built the others for comparison. The is probably the best.

As Dave knows, I was the one who was whining about over-optimization, so he obliged me with the several variants he mentioned above. Although I tried all 3 versions, I settled on the -O2 build because that's what I wanted in the first place.

I don't know if it was the choice of optimization or the fact that Dave built these with gcc 5.x rather than gcc 4.x, but this is the most stable version of any mozapp I've ever run. I installed it on June 6th and have yet to get a .TRP (crash) report in my SM directory. Of course, the thing still has many, many problems - but to go for 4 months without a crash is still extremely impressive. Thanks, Dave.

Utilities / Re: Air Boot problems
« on: September 07, 2018, 05:19:56 pm »
Both the initial AirBoot screen and the subsequent menu run at 640x480. This is no different than the OS screens that follow it, and on my system, the BIOS screens that precede it. It seems unlikely that the monitor doesn't support standard VGA.

I'd suggest reinstalling AirBoot. However, don't use "mini-LVM" (AOS's simplified LVM utility); instead, do it from the command line. The reason is that mini-LVM only replaces AB's code when reinstalling. In the few instances where I've had problems with AB, the cause was corrupted configuration data that needed to be replaced.

On AOS, you'll find the installer ('airboot2.exe') in x:\sys\bin. The program has 2 commandline switches: "/forcecode" and "/forceconfig". You may want to start with just "/forcecode" (identical to what mini-LVM would do). If that doesn't fix it, try adding "/forceconfig". The latter is more likely to fix the problem, but it will require you to reconfigure AB's menu because all of its existing partition info will be wiped out.

General Discussion / Re: IBM DDK License Discussion
« on: August 02, 2018, 05:03:54 am »
What nobody ever seems to notice is the line I've emphasized in this section :
4. Non-Disclosure

You expressly undertake to retain in trust and confidence all information and know-how transmitted to you by IBM that IBM has identified as proprietary or confidential or that by the nature of the circumstances surrounding the disclosure ought in good faith to be treated as proprietary or confidential, (including, but not limited to, source code) and you agree that you will make no use of such information and know-how except under the terms of this agreement. You are required to execute appropriate written agreements with your employees, consultants and distributors sufficient to enable you to comply with all provisions of this agreement. The above non-disclosure provisions shall terminate when the confidential information or source code becomes publicly available through no fault of yours or for a period of 10 years from disclosure. In addition, you agree to maintain adequate procedures to prevent loss of any materials contained in the Product. You agree to notify IBM of any such loss immediately.

The "or" in that sentence makes it difficult to really understand what they are saying. However, it sure seems like the requirement to keep IBM's code confidential becomes null and void if it becomes common knowledge. Given that copies of the DDK have been freely available on the net for years (and thus, "disclosed"), it's hard to see how any of these licensing strictures still apply.

If I were a direct licensee of IBM like Arca Noae, I wouldn't want to test this interpretation. However, a 3rd-party with no direct connection to IBM should probably feel free to do whatever he wishes with his DDK-based code, including making it open-source.

Pages: [1] 2 3 ... 6