Return INT value for some disk_* operations
Nessuno ha ancora preso questa issue.
- Lingua principale
- C
- Stelle
- 40.4k
- Fork
- 8.1k
- Merge medio
- 2g 13h
- PR unite (30g)
- 96
Descrizione
Description
Currently (and for who knows how many years), a number of functions responsible for working with the file system return float values instead of integers.
Does this seem confusing? A fractional number of bytes? How so?
One might assume that in the days of the 32-bit PHP, the integer type wasn't large enough to accommodate the possible disk sizes of the time, but in 2026, this seems absurd. Not to mention that comparing floating-point numbers is an ambiguous operation.
Functions that return float values instead of integers are:
- https://www.php.net/manual/en/function.disk-free-space.php
- https://www.php.net/manual/en/function.disk-total-space.php
P.S.
The behavior looks especially strange considering that the function filesize returns an integer value...
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia individuando le implementazioni e i test delle funzioni PHP disk_free_space() e disk_total_space(), quindi confronta la gestione dei valori restituiti con quella di filesize(). Conferma il comportamento atteso di tipo intero e aggiorna la copertura in modo che entrambe le operazioni restituiscano coerentemente valori interi senza compromettere i valori validi per dischi di grandi dimensioni.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- c, php
- Ambito
- operating-systems
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 55/100