[ENGLOBE-DEVEL] [POPS] pops_package_version_encode & pops_package_version_decode

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


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);
}
 
-- 
Maxime BRUNEL aka maxtoo
PGP Key #C5731538
Fingerprint E85F 372D 5A5F 066B 89FD  08A3 EEFC 05D4 C573 1538



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