| 308 | } |
| 309 | |
| 310 | status_t writeResFile(const char* filename, const sp<AaptAssets>& assets) { |
| 311 | FILE* fp = fopen(filename, "w+"); |
| 312 | if (fp == NULL) { |
| 313 | fprintf(stderr, "Unable to open %s for writing resTable\n", filename); |
| 314 | return PERMISSION_DENIED; |
| 315 | } |
| 316 | |
| 317 | sp<AaptFile> resFile(getResourceFile(assets)); |
| 318 | if (resFile == NULL || resFile->getData() == NULL || resFile->getSize() == 0) { |
| 319 | fprintf(stderr, "Res table or its data is null or empty. Nothing to write\n"); |
| 320 | fclose(fp); |
| 321 | return UNKNOWN_ERROR; |
| 322 | } |
| 323 | |
| 324 | int count = 0; |
| 325 | count = fwrite(resFile->getData(), 1, resFile->getSize(), fp); |
| 326 | |
| 327 | if (count == 0) { |
| 328 | fprintf(stderr, "Nothing written to %s\n", filename); |
| 329 | } |
| 330 | fclose(fp); |
| 331 | |
| 332 | return NO_ERROR; |
| 333 | } |
| 334 | |
| 335 | status_t writeResFileFD(int fd, const sp<AaptAssets>& assets) { |
| 336 | FILE* fp = fdopen(fd, "w+"); |
no test coverage detected