Forum Programmation.c libyaml & exemple d'émetteur

Posté par . Licence CC by-sa
0
13
mai
2016

Bonjour.

J'essaie d'utiliser la libyaml pour émettre un document à partir de structures.
La doc est plutôt spartiate, les "exemples" prennent en entrée un fichier yaml pour en générer un autre en sortie, et les seuls commentaires dedans ne servent qu'a traduire des noms de fonction en bon anglais.

Par chance la lib est open source, parce que sinon je n'aurai jamais pu être sûr que l'attribut length de yaml_scalar_event_initialize peut prendre une valeur négative pour être automatique, ni même qu'il s'applique à la chaîne de caractères qui représente la valeur (" * @param[in] length The length of the scalar value.
" selon la doc).
Bref, bien que le code soit propre, il est quasiment non-documenté.

Du coup, comme j'aimerai vraiment arriver à faire quelque chose et que je préférerai utiliser yaml plutôt que json pour la sérialisation/dé-sérialisation, je voudrai savoir: quelqu'un connaît-il un bout de code qui exploite cette lib pour générer, à partir de structures internes, un document yaml? Quitte à ce que je soit un morceau de projet, lire du code n'est pas un problème.

  • # re de moi-même

    Posté par . Évalué à 2.

    Pour ceux que ça intéresse, de toute façon cette lib ne semble plus maintenue.
    Sinon, j'ai fini par réussir à m'en servir malgré tout (en corrigeant des segfaults au passage, triste pour une lib qui serait celle utilisée pour pyaml… 'fin bref). Quand le projet pour laquelle je l'utilise sera utilisable, je le publierai donc il y aura des bouts de code qui l'utilisent.
    Pas sûr que ça dure longtemps, parce qu'une fois les quelques bugs restant corrigés, je pense virer rapidement cette dépendance (pas trouvé de lib décente, donc vais virer et mettre du json, ce sera plus simple et probablement plus rapide, aussi). Ça fera un exemple pour ceux qui en auront besoin, si un jour…

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.