From f2c2813661815c8f6121555c0d526b386db528a8 Mon Sep 17 00:00:00 2001 From: Adrian Perez de Castro Date: Thu, 26 Sep 2013 20:56:52 +0300 Subject: [PATCH v8 02/15] Implement Object::takeString() method Object::takeString() behaves like Object::getString(), but transfers ownership of the returned string to the caller. Also, it makes sure that calling Object::free() afterwards won't free the string that the Object is holding. --- poppler/Object.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/poppler/Object.h b/poppler/Object.h index 1b12354..6d65380 100644 --- a/poppler/Object.h +++ b/poppler/Object.h @@ -199,6 +199,8 @@ public: double getNum() { OBJECT_3TYPES_CHECK(objInt, objInt64, objReal); return type == objInt ? (double)intg : type == objInt64 ? (double)int64g : real; } GooString *getString() { OBJECT_TYPE_CHECK(objString); return string; } + GooString *takeString() { + OBJECT_TYPE_CHECK(objString); GooString *s = string; initNull(); return s; } char *getName() { OBJECT_TYPE_CHECK(objName); return name; } Array *getArray() { OBJECT_TYPE_CHECK(objArray); return array; } Dict *getDict() { OBJECT_TYPE_CHECK(objDict); return dict; } -- 1.8.4