Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion doc/winprofile-ini.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Android spells three keys that already had WinHTTrack names differently: `ProxyP

`Dos` is the one key that is not a number, a checkbox or a list. WinHTTrack packs two independent boxes into it, `m_dos | (m_iso9660 << 1)`, and reads them back with `& 1` and `& 2`, so it alone can write 3. The other two lose it in different places. WebHTTrack has no "both" entry, so it shows 3 as DOS names and drops the ISO bit on re-save; Android decodes only an exact `1`, so 2 and 3 arrive as neither. `Dos=0` is neither box and so means long names, not DOS names, which is why a front end that cannot show 3 must fall back on 1: storing 0 turns the setting into its opposite on the next reopen. Both bits set means DOS names on every side, since that is the precedence WinHTTrack applies when it builds `-L`.

A `default_state` of `none` means do not substitute one. `MaxRate`, `Sockets` and `MaxRetryAfter` carry it: a reader that fills in 100000 for an absent `MaxRate` passes `-A100000` where the front ends pass nothing at all, and the two mirror differently as soon as the engine's own default moves or `bypass_limits` applies. httrack-windows dropped its reader default in #105 for that reason, since a substituted value cannot be told from a chosen one once it reaches a file. The old profiles carrying a literal `MaxRate=25000` nobody chose are the same lesson from the far end. Both cells describe the target rather than WebHTTrack today: `initInt` still seeds `maxrate` and `connexion` (`src/htsserver.c`), so here an absent key still yields `--max-rate=100000` where an empty one yields no flag at all, and the two coincide only once those seeds go. `tests/324_winprofile-table.test` asserts the seeds so the rows are corrected when they do. `MaxRetryAfter` needs no such correction. Nothing seeds it here, so an empty key passes no flag and the engine's own 60 seconds apply.
A `default_state` of `none` means do not substitute one. `MaxRate`, `Sockets` and `MaxRetryAfter` carry it: a reader that fills in 100000 for an absent `MaxRate` passes `-A100000` where a front end holding no value passes nothing at all, and the two mirror differently as soon as the engine's own default moves or `bypass_limits` applies. httrack-windows dropped its reader default in #105 for that reason, since a substituted value cannot be told from a chosen one once it reaches a file. HTTrack for Android still writes it. `fieldsDefaults` seeds `MaxRate` to `25000` (`OptionsMapper.java`), so a project nobody edited carries `-A25000` on its command line and `MaxRate=25000` in its profile. That file's own `NO_DEFAULT[]` table names `MaxRate` all the same, so its two halves disagree. Its own profiles are safe by default, because `absentMeansSame()` writes a `NO_DEFAULT` key while its baseline is not empty. The baseline can move, since `resetMap()` loads the user's saved defaults over the seed, and an empty one drops the key instead. A profile from another front end that omits `MaxRate` is not safe. `unserialize()` overlays only the keys the file states, so the seeded baseline stands and the profile opens in Android as a 25000 cap. The `MaxRate` and `Sockets` cells describe the target rather than what the front ends do today: `initInt` still seeds `maxrate` and `connexion` (`src/htsserver.c`), so here an absent key still yields `--max-rate=100000` where an empty one yields no flag at all, and the two coincide only once those seeds go. `tests/324_winprofile-table.test` asserts the seeds so the rows are corrected when they do. `MaxRetryAfter` needs no such correction. Nothing seeds it here, so an empty key passes no flag and the engine's own 60 seconds apply.

`CurrentPath1` and `CurrentPath2` have no writer at all. WinHTTrack reads them live; its own write sites are commented out and neither other front end produces them. A front end that starts writing either will be consumed there, and the `owners` column cannot say so, since it names writers.

Expand Down
Loading