
2011/5/27 Jean-Baptiste Rouault <jean-baptiste.rouault@diateam.net>:
openvzGetUUID did not work since openvz_readline() was replaced by getline() --- src/openvz/openvz_conf.c | 13 ++----------- 1 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/src/openvz/openvz_conf.c b/src/openvz/openvz_conf.c index 2cccd81..7b939b2 100644 --- a/src/openvz/openvz_conf.c +++ b/src/openvz/openvz_conf.c @@ -863,7 +863,6 @@ openvzGetVPSUUID(int vpsid, char *uuidstr, size_t len) char *conf_file; char *line = NULL; size_t line_size = 0; - ssize_t ret; char *saveptr = NULL; char *uuidbuf; char *iden; @@ -877,16 +876,8 @@ openvzGetVPSUUID(int vpsid, char *uuidstr, size_t len) if (fp == NULL) goto cleanup;
- while (1) { - ret = getline(&line, &line_size, fp); - if (ret == -1) - goto cleanup; - - if (ret == 0) { /* EoF, UUID was not found */ - uuidstr[0] = 0; - break; - } - + uuidstr[0] = 0; + while (getline(&line, &line_size, fp) >= 0) { iden = strtok_r(line, " ", &saveptr); uuidbuf = strtok_r(NULL, "\n", &saveptr);
We need distinguish between getline returning -1 because of EOF and because of another error. I missed this problem in the other regression fix and posted a follow up patch [1] for this. I propose the attached patch as v2 for you patch. I assume you have an OpenVZ setup at hand, could you test this patch? [1] https://www.redhat.com/archives/libvir-list/2011-May/msg01788.html Matthias