複数のグラフを作成する必要がある小さな C プログラムを作成しています。これらのグラフのドットは文字列になっているため、agmemread
代わりに使用していますagread
(一時ファイルの作成を避けたい)。agmemread
ただし、複数回呼び出すと壊れるようです。
次の例では "error2" が出力されるため、2 回目の呼び出しで失敗しますagmemread
。
#include <gvc.h>
int main() {
Agraph_t *g1 = agmemread("graph testgraph {\n\n}");
if (!g1) {
printf("error1\n");
return 1;
}
agclose(g1);
Agraph_t *g2 = agmemread("graph testgraph {\n\n}");
if (!g2) {
printf("error2\n");
return 1;
}
agclose(g2);
return 0;
}
実際の例では、もちろん、これらのセクションの間にさらにコードがいくつかあります。
2 回目に agmemread を呼び出す前に、何かを解放またはクローズする必要がありますか? それともgraphvizのバグですか?graphviz: stable 2.30.1, devel 2.31.20130523.0446
Mac OS Xで使用しています。
代わりの同じ例agread
は魅力のように機能します。