Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[BUG] Legacy options -608, -708, -90090, -UCLA, -CC2, -LF, -DF, -parsepat, -parsepmt still rejected after #1856

Chiusa Adatta ai principianti
#2,367 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@Deepak-negi11 ci sta già lavorando.

Dal 10/10/2026.

  • #2368 di @Deepak-negi11 — aperta
  • #2376 di @pantha704 — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
66/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
c, rust
Ambito
cli

Direzione di ricerca

Inizia da normalize_legacy_option() nella gestione degli argomenti in Rust, che riscrive le grafie legacy con trattino singolo, e dalle definizioni dei flag clap che riceve. Riproduci con -UCLA, -608 e -parsepat confrontandoli con le forme --ucla, --608 e --parsePAT, che già funzionano. È completato quando ogni grafia legacy elencata viene analizzata come la controparte con doppio trattino e le forme numeriche -608/-708/-90090 non vengono più suddivise in flag corti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

CCExtractor version: master @ 6e9c8cb (--version reports 0.96.5)

Necessary information

  • Is this a regression (i.e. did it work before)? YES. Last known working version: 0.94 (C argument parser).
  • What platform did you use? Mac
  • What were the used arguments? -UCLA sample.scc (also -608, -708, -90090, -CC2, -LF, -DF, -parsepat, -parsepmt)

Video links

The bug is in argument parsing, so any input reproduces it. Minimal SCC sample (save as sample.scc):

Scenarist_SCC V1.0

00:00:01:00	9420 9420 94ae 94ae 9452 9452 97a2 97a2 c845 4c4c 4f80 942f 942f

00:00:03:00	942c 942c

00:00:04:00	9420 9420 94ae 94ae 9452 9452 97a2 97a2 574f 524c c480 942f 942f

00:00:06:00	942c 942c

Additional information

This is a follow-up to #1856 (merged) and #1956 (closed): those fixed -quiet and similar options, but some legacy spellings were missed.

#1856 added normalize_legacy_option() so scripts using the pre-0.95 single-dash syntax keep working. A few legacy spellings still fail, even though the option itself exists in the Rust parser:

Legacy spelling (accepted by 0.94) Current result Cause
-608, -708, -90090 unexpected argument '-6' / '-7' / '-9' normalize_legacy_option only rewrites options whose 2nd char is a letter, so clap splits these into short flags
-UCLA, -CC2, -LF, -DF unexpected argument '--UCLA' etc. C accepted both cases; Rust only has --ucla, --cc2, --lf, --df
-parsepat, -parsepmt unexpected argument '--parsepat' C accepted both cases; Rust only has --parsePAT / --parsePMT (plus --pat / --pmt)

Reproduce:

ccextractor -UCLA sample.scc -o out.srt     # Unknown Argument ... unexpected argument '--UCLA' found
ccextractor --ucla sample.scc -o out.srt    # works
ccextractor -608 sample.scc -o out.srt      # unexpected argument '-6' found
ccextractor --608 sample.scc -o out.srt     # works

As described in #1856, scripts that redirect stderr only see exit code 7 and no output, which is how the -quiet case showed up for users (see also #1956).

Also, docs/FRONTEND_COMMUNICATIONS.TXT tells frontend authors to pass --gui_mode_reports, which the current parser rejects (it's --gui-mode-reports now).

How I found these: I ran every option string matched by the 0.94 params.c against the current binary. 61 are rejected. The ten above are exact matches for options that still exist, so they look like plain bugs. Most of the rest are intentional renames from the #1564/#1619 revamp (e.g. -nofc, -detect_italics, --norollup) or removed features (sharing, translate). I can post that full list separately if you'd like aliases for any of them.

I have a fix ready and will open a PR.

Lingua principale
C
Stelle
905
Fork
596
Merge medio
4g 5h
PR unite (30g)
33

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di CCExtractor/ccextractor

Tutte le issue di CCExtractor/ccextractor

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.