Mercurial > hg > dmlib
diff src/dmres.c @ 958:985225a93aeb
Add error code parameter to dmError() and dmErrorVA().
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 27 Feb 2015 03:58:25 +0200 |
parents | b01d04e44b6f |
children | d66b0b6c8bf8 |
line wrap: on
line diff
--- a/src/dmres.c Fri Feb 27 02:21:57 2015 +0200 +++ b/src/dmres.c Fri Feb 27 03:58:25 2015 +0200 @@ -340,16 +340,17 @@ // Search PACK nodelist for file if ((node = dmPackFind(handle->lib->packFile->entries, handle->filename)) == NULL) { - dmError("Entry '%s' not found in PACK file.\n", handle->filename); - res = DMERR_NOT_FOUND; + res = dmError(DMERR_NOT_FOUND, + "Entry '%s' not found in PACK file.\n", + handle->filename); goto error; } // Seek to entry if (fseek(handle->lib->packFile->file, node->offset, SEEK_SET) == -1) { - dmError("Could not seek node position in PACK file.\n"); - res = DMERR_FSEEK; + res = dmError(DMERR_FSEEK, + "Could not seek node position in PACK file.\n"); goto error; } @@ -381,8 +382,8 @@ cres = inflateInit(&(cstream)); if (cres != Z_OK) { - dmError("Could not initialize zlib stream inflation.\n"); - res = DMERR_INIT_FAIL; + res = dmError(DMERR_INIT_FAIL, + "Could not initialize zlib stream inflation.\n"); goto error; } @@ -904,8 +905,8 @@ char *fname = dm_strdup_printf("%s/%s", path, dh->d_name); if (stat(fname, &sbuf) == -1) { - res = dmGetErrno(); - dmError("Could not stat() %s, #%d: %s\n", + res = dmError(dmGetErrno(), + "Could not stat() %s, #%d: %s\n", fname, res, dmErrorStr(res)); dmFree(fname); goto out; @@ -966,14 +967,17 @@ { if ((flags & DRF_USE_STDIO) == 0) { - dmError("Error opening PACK file '%s', #%d: %s\n", - lib->packFilename, ret, dmErrorStr(ret)); - - return DMERR_INIT_FAIL; + return dmError(DMERR_INIT_FAIL, + "Error opening PACK file '%s', #%d: %s\n", + lib->packFilename, ret, dmErrorStr(ret)); } else - dmError("Failed to open PACK, falling back to STDIO, '%s' %d: %s\n", - lib->packFilename, ret, dmErrorStr(ret)); + { + // Non-fatal + dmError(DMERR_INIT_FAIL, + "Failed to open PACK, falling back to STDIO, '%s' %d: %s\n", + lib->packFilename, ret, dmErrorStr(ret)); + } } else { @@ -983,9 +987,9 @@ DMResource *res = dmResourceNew(lib, node->filename, node->size); if (res == NULL) { - dmError("Could not allocate memory for resource node '%s' [0x%08x], %d.\n", + return dmError(DMERR_INIT_FAIL, + "Could not allocate memory for resource node '%s' [0x%08x], %d.\n", node->filename, node->flags, node->size); - return DMERR_INIT_FAIL; } res->fops = &dfPackFileOps; @@ -1044,7 +1048,7 @@ int res = dmPackClose(lib->packFile); if (res != DMERR_OK) { - dmError("Error closing PACK, #%i: %s\n", + dmError(res, "Error closing PACK, #%i: %s\n", res, dmErrorStr(res)); } @@ -1097,7 +1101,7 @@ // Attempt to preload the resource if ((ret = dmResourcePreload(lib->preload)) != DMERR_OK) { - dmError("Error preloading '%s', %d: %s\n", + dmError(ret, "Error preloading '%s', %d: %s\n", lib->preload->filename, ret, dmErrorStr(ret)); goto error; }