-
Notifications
You must be signed in to change notification settings - Fork 16
/
fichiers_temporaires.txt
56 lines (47 loc) · 3.33 KB
/
fichiers_temporaires.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
FICHIERS_TEMPORAIRES
HEADER ==> #<stdlib.h>
MACROS A DEFINIR ==> #_BSD_SOURCE / _SVID_SOURCE
mktemp(STR) #STR doit être terminée par "XXXXXX". Ces XXXXXX sont
#transformés de sorte que STR forme un chemin de fichier
#unique. Si c'est impossible ou erreur, STR devient NULL
#En théorie, STR est souvent "/tmp/prefixXXXXXX"
----| Renvoie STR
| Pose les mêmes problèmes de sécurité que tmpname() :
| préférer tmpfile() ou mkstemp()
mkstemp(STR) #Comme mktemp(), sauf que:
# - en plus, le fichier est créé avec notamment O_RDWR,
# et les permissions 0600
# - le fichier est ouvert avec O_EXCL, ce qui empêche
# la création d'un fichier du même nom entre-temps,
# et corrige les problème de sécurité de tmpname()
# - le file descriptor, et non STR, est renvoyé, ou -1
# si erreur
#Le fichier n'est pas supprimé à la fin du programme ou
#clôture du file descriptor.
mkostemp(STR, INT_VAL) #Comme mkstemp(), sauf que les O_* flags INT_VAL sont
#ajoutés lors de la création du fichier temporaire.
HEADER ==> #<stdlib.h>
MACROS A DEFINIR ==> #_BSD_SOURCE
mkdtemp(STR) #Comme mkstemp(), sauf que :
# - le fichier créé est un répertoire temporaire
# - il est ouvert avec les permissions 700
# - STR est renvoyée.
HEADER ==> #<stdio.h>
MACROS A DEFINIR ==> #_BSD_SOURCE / _SVID_SOURCE
tempname(STR1, STR2)----| Renvoie une STR_LIT dynamiquement allouée (elle devra
| donc être freed) désignant un nom de fichier
| temporaire unique avec :
| - comme préfixe, par ordre de priorité :
| 1) l'environment variable TMPDIR, si définie
| 2) STR1, s'il ne s'agit pas d'un NULL
| 3) la macro P_tmpdir, si définie
| 4) /tmp
| - suivie des 5 premiers caractères de STR2, s'il ne
| s'agit pas de NULL. S'il s'agit de NULL, un mot
| est choisi par le système (comme "file")
| - suivie de 6 caractères aléatoires
| ou NULL si erreur.
| Pose les mêmes problèmes de sécurité que tmpname() :
| préférer tmpfile() ou mkstemp()