| 3132 | } |
| 3133 | |
| 3134 | void next() |
| 3135 | { |
| 3136 | if (hasData()) |
| 3137 | { |
| 3138 | impure->vlu_desc.clear(); |
| 3139 | |
| 3140 | if (!blobMode) |
| 3141 | { |
| 3142 | dsc result; |
| 3143 | result.makeText(outBuf.getCount(), ttype_binary, outBuf.begin()); |
| 3144 | EVL_make_value(tdbb, &result, impure); |
| 3145 | |
| 3146 | len = 0; |
| 3147 | completed = true; |
| 3148 | } |
| 3149 | else |
| 3150 | { |
| 3151 | newBlob->BLB_put_data(tdbb, outBuf.begin(), outBuf.getCount()); |
| 3152 | |
| 3153 | len = blob->BLB_get_data(tdbb, inBuf.begin(), inBuf.getCount(), false); |
| 3154 | if (!len) |
| 3155 | { |
| 3156 | closeBlobs(); |
| 3157 | EVL_make_value(tdbb, &blobDesc, impure); |
| 3158 | completed = true; |
| 3159 | } |
| 3160 | } |
| 3161 | } |
| 3162 | } |
| 3163 | |
| 3164 | private: |
| 3165 | const FB_SIZE_T BLOB_STEP = 1024; |
no test coverage detected