diff --git a/ecrire/inc_meta.php3 b/ecrire/inc_meta.php3 index 7296a5b415d34e9c9f0da1d9b68eb086052ae559..b130578a5fa92d5fffb7e985fd1083862a4986ef 100644 --- a/ecrire/inc_meta.php3 +++ b/ecrire/inc_meta.php3 @@ -73,12 +73,16 @@ function lire_meta_maj($nom) { $s .= '?'.'>'; $fichier_meta_cache = ($flag_ecrire ? '' : 'ecrire/') . 'data/inc_meta_cache.php3'; - $f = @fopen($fichier_meta_cache.'-'.@getmypid(), "wb"); + $fichier_meta_cache_w = $fichier_meta_cache.'-'.@getmypid(); + $f = @fopen($fichier_meta_cache_w, "wb"); if ($f) { - @fputs($f, $s); + $r = @fputs($f, $s); @fclose($f); @unlink($fichier_meta_cache); - @rename($fichier_meta_cache.'-'.@getmypid(), $fichier_meta_cache); + if ($r != strlen($s)) + @rename($fichier_meta_cache_w, $fichier_meta_cache); + else + @unlink($fichier_meta_cache_w); } else { global $connect_statut; if ($connect_statut == '0minirezo')