Re: [ENGLOBE-DEVEL] [POPS] pops_package_version_encode & pops_package_version_decode

[ Thread Index | Date Index | More englobelinux.org/devel Archives ]


Maxime BRUNEL wrote:
Bon, jviens d'ajouter les fonctions :

- int pops_package_version_encode (char *version, int *members);

  cette fonction sert à encoder une version fait en chaine de caractÚres (ex: "2.6.3") en binaire. Le premier argument est donc la version sans la revision et le deuxiÚme argument sert à savoir le nombre de membres et au decodage. Attention, il faut que la version n'est pas plus de 3 membres (donc x.x.x.x n'est pas possible), il faut que chaque membre soit un nombre compris entre 0 et 255. Vous pouvez aussi mettre des catégories pour préciser sa stabilité (ex: "2.6.3_pre5). Les catégories disponibles sont : cvs, pre, alpha, beta. On ne peut bien sur en mettre qu'une pour une version, et sa valeur doit être comprise entre 0 et 31.

- const char *pops_package_version_decode (int version, int members);

  Avec l'argument 'version' et le nombre de membres 'members', la fonction nous decode la version en chaine de caractÚres. Il est important que l'argument 'version' soit généré par la fonction pops_package_version_encode. La chaine de caractÚres a été allocé par evas_stringshare_add, donc pour la détruire, il suffit d'utiliser evas_stringshare_del.

|Exemple d'utilisation
-----------------------

{
  char *version, *vdecoded;
  int vencoded, len = 0;

  version = "2.6.8_pre20"

  vencoded = pops_package_version_encode (version, &len);
  vdecoded = pops_package_version_decode (vencoded, len);
}
Pourquoi les fonctions ne s'appellent elle pas simplement :

pops_version_encode/decode() ?




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/