subroutine iwrcom(nf,buf)
integer nf, buf(1)
subroutine iwrhis(nf,buf)
integer nf, buf(1)
#include <inrimage/image.h>
int iputhline(nf,key,buf)
struct image *nf; char *key, *buf;
int igethline(nf,key,num,buf,size,realsize)
struct image *nf; char *key, *buf; int num, size, *realsize;
int idelhline(nf,key,num)
struct image *nf; char *key; int num;
int irephline(nf,key,num,buf)
struct image *nf; char *key, *buf; int num;
iwrcom_(anf,buf)
struct image **anf; char *buf;
c_iwrcom(nf,buf)
struct image *nf; char *buf;
int ifreehdr(nf)
struct image *nf
iwrhis_(anf,buf)
struct image **anf; char *buf;
c_iwrhis(nf,buf)
struct image *nf; char *buf;
Dans tous les cas key est une chaine de caractères, terminée par
un caractère nul, qui définit une clé associée au message à lire
ou écrire. Si key commence par '#', il s'agit
d'un commentaire, sinon son dernier caractère soit être '='.
DESCRIPTION
iputhline
écrit, dans l'en-tête de l'image nf,
une chaine de caractères en concaténant key et buf.
La chaine de buf s'arrête sur le 1er caractère '\\n' ou '\\0'.
igethline
renvoie dans buf de taille size la fin de la 1ère ligne
de l'en-tête (partie ascii)
de l'image nf, qui commence par key, en remplaçant
le '\\n' terminal par '\\0'.
La recherche commence à la ligne num.
Si la réponse
est de taille supérieure à size, elle sera tronquée, mais
toujours terminée par '\0'.
key peut être quelconque, y compris vide (dans ce cas on
aura la ligne num).
Retour :
idelhline
cherche, à partir du numéro num, la ligne de l'en-tête
de l'image nf, qui commence par la chaine key et la
supprime.
Retour :
irephline
cherche, à partir du numéro num, la ligne de l'en-tête
de l'image nf, qui commence par la chaine key et
en remplace la fin par buf (terminé par '\\n' ou '\\0').
S'il n'en trouve pas, il ajoute la ligne key,buf (appelle iputhline).
Si key ne commence pas par '#', elle doit se terminer par '='.
Elle ne doit pas être vide, mais peut être une clé réservée.
Retour :
iwrcom, c_iwrcom
écrivent le message buf (terminé par '\\n' ou '\\0') comme
commentaire, c'est-à-dire en le faisant précéder de '#', dans
l'en-tête de l'image nf.
iwrcom
ne retourne rien, mais
c_iwrcom
retourne -1 s'il n'y a plus de place, et le numéro de ligne sinon.
iwrhis, c_iwrhis
écrivent,
dans l'en-tête de l'image nf,
buf comme message d'histoire.
Retour :
ifreehdr retourne la place libre (en nombre de caractères) dans la partie ascii de l'en-tête de l'image nf.