> Tech > Renommer un fichier (ou « lien ») dans l’IFS

Renommer un fichier (ou « lien ») dans l’IFS

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

IBM offre deux API différentes pour renommer un fichier dans l’IFS : Qp01 RenameUnlink() et Qp01Rename- Keep(). Toutes deux font la même chose : changer le nom d’un lien. La différence entre les deux se manifeste quand le nom du fichier résultant existe déjà.

Si un lien portant

le nom cible existe déjà, l’API Qp01RenameUnlink() commence par le délier puis effectue le renommage. C’est une décision risquée car elle peut supprimer un fichier à votre insu !

L’API Qp01RenameKeep() est beaucoup plus sûre. Si un lien portant le nom cible existe déjà, l’API renvoie une erreur et garde le fichier existant intact.

La figure 7 montre le prototype que j’utilise pour renommer les liens dans l’IFS. La figure 8 montre le programme REPLACE. A noter que si vous définissez la condition RENAMEUNLINK avant d’inclure le membre IFSIO_ H dans votre code source RPG (A en figure 8), le code défini /if en figure 7 fait que l’API Qp01RenameUnlink() sera utilisée pour les appels rename(). Par conséquent, si hello.txt existe avant l’appel rename(), il est remplacé par le nouveau fichier (B en figure 8).

Le comportement par défaut, si vous ne définissez pas RENAMEUNLINK, consiste à utiliser l’API Qp01 RenameKeep(). Cette API est plus sûre à utiliser parce qu’elle ne supprime jamais le fichier de destination. Si le fichier existe, l’API renvoie une erreur que vous pouvez vérifier dans le programme (figure 9).

Téléchargez cette ressource

SIEM & PME : Comment construire la boîte noire de votre SI ?

SIEM & PME : Comment construire la boîte noire de votre SI ?

Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et accessible, pour anticiper, détecter et réagir efficacement aux attaques.

Les plus consultés sur iTPro.fr

A lire aussi sur le site

À la une de la chaîne Tech