moins de plantage sur EOF et n'ecrase le fichier que si le nouveau est plus gros

This commit is contained in:
Mac Call
2023-03-06 19:46:45 +01:00
parent e53fb1b54f
commit ac56eff5b9
2 changed files with 33 additions and 16 deletions

View File

@@ -31,7 +31,7 @@ func Enregistre_stream(done chan bool, errChan chan error, filename string) {
// Créer un fichier local pour écrire les données du flux audio
file, err := os.Create(filename)
if err != nil {
fmt.Fprintf(os.Stderr, "Error creating file : %s", err)
fmt.Fprintf(os.Stderr, "Error creating file : %s\n", err)
done <- false
errChan <- err
}
@@ -43,7 +43,7 @@ func Enregistre_stream(done chan bool, errChan chan error, filename string) {
// met a la poubelle les premiers octets du stream (entete + generique roland radio)
_, err = io.CopyN(io.Discard, resp.Body, sizeGeneriqueToStrip)
if err != nil {
fmt.Fprintf(os.Stderr, "Erreur du strip de l'entête et générique du stream: %s", err)
fmt.Fprintf(os.Stderr, "Erreur du strip de l'entête et générique du stream: %s\n", err)
done <- false
errChan <- err
}
@@ -54,14 +54,14 @@ func Enregistre_stream(done chan bool, errChan chan error, filename string) {
for {
n, err := resp.Body.Read(buffer)
if err != nil && err != io.EOF {
fmt.Fprintf(os.Stderr, "Error lecture buffer stream : %s", err)
fmt.Fprintf(os.Stderr, "Error lecture buffer stream : %s\n", err)
done <- false
errChan <- err
}
_, err = file.Write(buffer[:n])
if err != nil {
fmt.Fprintf(os.Stderr, "Error copying stream : %s", err)
fmt.Fprintf(os.Stderr, "Error copying stream : %s\n", err)
done <- false
errChan <- err
}