remove IS_ERR_OR_NULL

In most places where pointer can be an 'error' it cannot be null
pointer. Further, in those cases just calling PTR_ERR() is not enough
to handle the null case. Simplify code by removing this case.

If NULL case needs to be handled, it's better to add separate check
and return fixed error code in that case.
cute-signatures
Timo Teräs 2021-08-23 15:05:16 +03:00
parent 91085a4874
commit 72d8cb8937
11 changed files with 21 additions and 22 deletions

View File

@ -37,7 +37,7 @@ static struct adb_block *adb_block_next(struct adb_block *cur, apk_blob_t b)
}
#define adb_foreach_block(__blk, __adb) \
for (__blk = adb_block_first(__adb); !IS_ERR_OR_NULL(__blk); __blk = adb_block_next(__blk, __adb))
for (__blk = adb_block_first(__adb); __blk && !IS_ERR(__blk); __blk = adb_block_next(__blk, __adb))
/* Init stuff */
int adb_free(struct adb *db)
@ -1103,7 +1103,7 @@ int adb_trust_write_signatures(struct apk_trust *trust, struct adb *db, struct a
size_t siglen;
int r;
if (IS_ERR_OR_NULL(trust)) return PTR_ERR(trust);
if (IS_ERR(trust)) return PTR_ERR(trust);
if (!vfy) {
vfy = alloca(sizeof *vfy);

View File

@ -13,7 +13,7 @@ struct apk_istream *adb_decompress(struct apk_istream *is, adb_comp_t *compressi
{
adb_comp_t c = -1;
if (IS_ERR_OR_NULL(is)) return is;
if (IS_ERR(is)) return is;
uint8_t *buf = apk_istream_peek(is, 4);
if (IS_ERR(buf)) return ERR_PTR(apk_istream_close_error(is, PTR_ERR(buf)));
@ -35,7 +35,7 @@ struct apk_istream *adb_decompress(struct apk_istream *is, adb_comp_t *compressi
struct apk_ostream *adb_compress(struct apk_ostream *os, adb_comp_t compression)
{
if (IS_ERR_OR_NULL(os)) return os;
if (IS_ERR(os)) return os;
switch (compression) {
case ADB_COMP_NONE:
return os;

View File

@ -19,7 +19,7 @@ int adb_walk_text(struct adb_walk *d, struct apk_istream *is)
int r = 0, i, multi_line = 0, nesting = 0, new_item = 0;
uint8_t started[64] = {0};
if (IS_ERR_OR_NULL(is)) return PTR_ERR(is);
if (IS_ERR(is)) return PTR_ERR(is);
if (apk_istream_get_delim(is, token, &l) != 0) goto err;
apk_blob_pull_blob_match(&l, APK_BLOB_STR("#%SCHEMA: "));
if ((r = d->ops->schema(d, apk_blob_pull_uint(&l, 16))) != 0) goto err;

View File

@ -69,7 +69,6 @@ static inline void *ERR_PTR(long error) { return (void*) error; }
static inline void *ERR_CAST(const void *ptr) { return (void*) ptr; }
static inline int PTR_ERR(const void *ptr) { return (int)(long) ptr; }
static inline int IS_ERR(const void *ptr) { return (unsigned long)ptr >= (unsigned long)-4095; }
static inline int IS_ERR_OR_NULL(const void *ptr) { return IS_ERR(ptr) || !ptr; }
#if defined __GNUC__ && __GNUC__ == 2 && __GNUC_MINOR__ < 96
#define __builtin_expect(x, expected_value) (x)

View File

@ -171,8 +171,8 @@ static int fetch_package(apk_hash_item item, void *pctx)
}
is = apk_istream_from_fd_url(urlfd, url, apk_db_url_since(db, 0));
if (IS_ERR_OR_NULL(is)) {
r = PTR_ERR(is) ?: -EIO;
if (IS_ERR(is)) {
r = PTR_ERR(is);
goto err;
}
@ -219,7 +219,7 @@ static void mark_name_flags(struct apk_database *db, const char *match, struct a
.result_mask = APK_DEPMASK_ANY,
};
if (!IS_ERR_OR_NULL(name)) {
if (name) {
name->auto_select_virtual = 1;
apk_deps_add(&ctx->world, &dep);
} else {

View File

@ -199,7 +199,7 @@ static int index_main(void *ctx, struct apk_ctx *ac, struct apk_string_array *ar
os = apk_ostream_to_file(AT_FDCWD, ictx->output, 0644);
else
os = apk_ostream_to_fd(STDOUT_FILENO);
if (IS_ERR_OR_NULL(os)) return -1;
if (IS_ERR(os)) return PTR_ERR(os);
memset(&fi, 0, sizeof(fi));
fi.mode = 0644 | S_IFREG;

View File

@ -132,7 +132,7 @@ static void info_who_owns(struct info_ctx *ctx, struct apk_database *db,
}
if (verbosity < 1 && deps->num != 0) {
os = apk_ostream_to_fd(STDOUT_FILENO);
if (!IS_ERR_OR_NULL(os)) {
if (!IS_ERR(os)) {
apk_deps_write(db, deps, os, APK_BLOB_PTR_LEN(" ", 1));
apk_ostream_write(os, "\n", 1);
apk_ostream_close(os);

View File

@ -704,7 +704,7 @@ int apk_db_read_overlay(struct apk_database *db, struct apk_istream *is)
struct apk_installed_package *ipkg;
apk_blob_t token = APK_BLOB_STR("\n"), line, bdir, bfile;
if (IS_ERR_OR_NULL(is)) return PTR_ERR(is);
if (IS_ERR(is)) return PTR_ERR(is);
pkg = apk_pkg_new();
if (!pkg) goto no_mem;
@ -758,7 +758,7 @@ int apk_db_index_read(struct apk_database *db, struct apk_istream *is, int repo)
gid_t gid;
int field, r, lineno = 0;
if (IS_ERR_OR_NULL(is)) return PTR_ERR(is);
if (IS_ERR(is)) return PTR_ERR(is);
while (apk_istream_get_delim(is, token, &l) == 0) {
lineno++;
@ -1223,7 +1223,7 @@ static int apk_db_index_write_nr_cache(struct apk_database *db)
/* Write list of installed non-repository packages to
* cached index file */
os = apk_ostream_to_file(db->cache_fd, "installed", 0644);
if (IS_ERR_OR_NULL(os)) return PTR_ERR(os);
if (IS_ERR(os)) return PTR_ERR(os);
ctx.os = os;
list_for_each_entry(ipkg, &db->installed.packages, installed_pkgs_list) {
@ -2769,7 +2769,7 @@ static int apk_db_unpack_pkg(struct apk_database *db,
need_copy = FALSE;
is = apk_istream_from_fd_url(filefd, file, apk_db_url_since(db, 0));
if (IS_ERR_OR_NULL(is)) {
if (IS_ERR(is)) {
r = PTR_ERR(is);
if (r == -ENOENT && pkg->filename == NULL)
r = -APKE_INDEX_STALE;

View File

@ -154,7 +154,7 @@ void *apk_istream_peek(struct apk_istream *is, size_t len)
void *apk_istream_get(struct apk_istream *is, size_t len)
{
void *p = apk_istream_peek(is, len);
if (!IS_ERR_OR_NULL(p)) is->ptr += len;
if (!IS_ERR(p)) is->ptr += len;
else apk_istream_error(is, PTR_ERR(p));
return p;
}
@ -595,7 +595,7 @@ struct apk_istream *__apk_istream_from_file(int atfd, const char *file, int try_
if (try_mmap) {
struct apk_istream *is = apk_mmap_istream_from_fd(fd);
if (!IS_ERR_OR_NULL(is)) return is;
if (!IS_ERR(is)) return is;
}
return apk_istream_from_fd(fd);
}
@ -816,7 +816,7 @@ int apk_fileinfo_get(int atfd, const char *filename, unsigned int flags,
apk_digest_calc(&fi->digest, hash_alg, target, st.st_size);
} else {
struct apk_istream *is = apk_istream_from_file(atfd, filename);
if (!IS_ERR_OR_NULL(is)) {
if (!IS_ERR(is)) {
struct apk_digest_ctx dctx;
apk_blob_t blob;
@ -995,7 +995,7 @@ struct apk_ostream *apk_ostream_to_file(int atfd, const char *file, mode_t mode)
if (fd < 0) return ERR_PTR(-errno);
os = apk_ostream_to_fd(fd);
if (IS_ERR_OR_NULL(os)) return ERR_CAST(os);
if (IS_ERR(os)) return ERR_CAST(os);
struct apk_fd_ostream *fos = container_of(os, struct apk_fd_ostream, os);
fos->file = file;

View File

@ -146,7 +146,7 @@ struct apk_istream *apk_istream_zlib(struct apk_istream *is, int raw, apk_multip
{
struct apk_gzip_istream *gis;
if (IS_ERR_OR_NULL(is)) return ERR_CAST(is);
if (IS_ERR(is)) return ERR_CAST(is);
gis = malloc(sizeof(*gis) + apk_io_bufsize);
if (!gis) goto err;
@ -231,7 +231,7 @@ struct apk_ostream *apk_ostream_zlib(struct apk_ostream *output, int raw)
{
struct apk_gzip_ostream *gos;
if (IS_ERR_OR_NULL(output)) return ERR_CAST(output);
if (IS_ERR(output)) return ERR_CAST(output);
gos = malloc(sizeof(struct apk_gzip_ostream));
if (gos == NULL) goto err;

View File

@ -124,7 +124,7 @@ int apk_tar_parse(struct apk_istream *is, apk_archive_entry_parser parser,
apk_blob_t pax = APK_BLOB_NULL, longname = APK_BLOB_NULL;
char filename[sizeof buf.name + sizeof buf.prefix + 2];
if (IS_ERR_OR_NULL(is)) return PTR_ERR(is) ?: -EINVAL;
if (IS_ERR(is)) return PTR_ERR(is);
memset(&entry, 0, sizeof(entry));
entry.name = buf.name;