X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=libopkg%2Fopkg.c;h=437544007edbb144355a1d97cca38fbef8fa8d24;hb=7dff5be677598f2f93c5c11978f28f650852c4e2;hp=4799dc1837565e4ed45cb42934de29d3c79e3f83;hpb=10f0dceaf9ed1dea7c2ed7d41e7a748d34dd9324;p=oweals%2Fopkg-lede.git diff --git a/libopkg/opkg.c b/libopkg/opkg.c index 4799dc1..4375440 100644 --- a/libopkg/opkg.c +++ b/libopkg/opkg.c @@ -34,8 +34,6 @@ #include -struct errlist* error_list; - struct _opkg_t { args_t *args; @@ -62,18 +60,14 @@ pkg_t_to_opkg_package_t (pkg_t *old) new = opkg_package_new (); -#define sstrdup(x) (x) ? strdup (x) : NULL; - - new->name = sstrdup (old->name); + new->name = xstrdup(old->name); new->version = pkg_version_str_alloc (old); - new->architecture = sstrdup (old->architecture); + new->architecture = xstrdup(old->architecture); if (old->src) - new->repository = sstrdup (old->src->name); - new->description = sstrdup (old->description); - new->tags = sstrdup (old->tags); - new->url = sstrdup (old->url); - -#undef sstrdup + new->repository = xstrdup(old->src->name); + new->description = xstrdup(old->description); + new->tags = xstrdup(old->tags); + new->url = xstrdup(old->url); new->size = (old->size) ? atoi (old->size) : 0; new->installed = (old->state_status == SS_INSTALLED); @@ -263,25 +257,25 @@ opkg_re_read_config_files (opkg_t *opkg) if (c->offline_root) { if (a->offline_root) free (a->offline_root); - a->offline_root = strdup (c->offline_root); + a->offline_root = xstrdup(c->offline_root); } if (c->offline_root_pre_script_cmd) { if (a->offline_root_pre_script_cmd) free (a->offline_root_pre_script_cmd); - a->offline_root_pre_script_cmd = strdup (c->offline_root_pre_script_cmd); + a->offline_root_pre_script_cmd = xstrdup(c->offline_root_pre_script_cmd); } if (c->offline_root_post_script_cmd) { if (a->offline_root_post_script_cmd) free (a->offline_root_post_script_cmd); - a->offline_root_post_script_cmd = strdup (c->offline_root_post_script_cmd); + a->offline_root_post_script_cmd = xstrdup(c->offline_root_post_script_cmd); } if (c->cache) { if (a->cache) free (a->cache); - a->cache = strdup(c->cache); + a->cache = xstrdup(c->cache); } /* throw away old opkg_conf and start again */ @@ -330,7 +324,7 @@ opkg_get_option (opkg_t *opkg, char *option, void **value) return; case OPKG_OPT_TYPE_STRING: - *((char **)value) = strdup (options[i].value); + *((char **)value) = xstrdup(options[i].value); return; } @@ -382,7 +376,7 @@ opkg_set_option (opkg_t *opkg, char *option, void *value) return; case OPKG_OPT_TYPE_STRING: - *((char **)options[i].value) = strdup (value); + *((char **)options[i].value) = xstrdup(value); return; } @@ -531,6 +525,7 @@ opkg_install_package (opkg_t *opkg, const char *package_name, opkg_progress_call case OPKG_INSTALL_ERR_ALREADY_INSTALLED: return OPKG_PACKAGE_ALREADY_INSTALLED; case OPKG_INSTALL_ERR_SIGNATURE: return OPKG_GPG_ERROR; case OPKG_INSTALL_ERR_MD5: return OPKG_MD5_ERROR; + case OPKG_INSTALL_ERR_SHA256: return OPKG_SHA256_ERROR; default: return OPKG_UNKNOWN_ERROR; } } @@ -670,6 +665,7 @@ opkg_upgrade_package (opkg_t *opkg, const char *package_name, opkg_progress_call case OPKG_INSTALL_ERR_ALREADY_INSTALLED: return OPKG_PACKAGE_ALREADY_INSTALLED; case OPKG_INSTALL_ERR_SIGNATURE: return OPKG_GPG_ERROR; case OPKG_INSTALL_ERR_MD5: return OPKG_MD5_ERROR; + case OPKG_INSTALL_ERR_SHA256: return OPKG_SHA256_ERROR; default: return OPKG_UNKNOWN_ERROR; } } @@ -773,7 +769,7 @@ opkg_update_package_lists (opkg_t *opkg, opkg_progress_callback_t progress_callb } } - tmp = strdup ("/tmp/opkg.XXXXXX"); + tmp = xstrdup("/tmp/opkg.XXXXXX"); if (mkdtemp (tmp) == NULL) { @@ -850,7 +846,7 @@ opkg_update_package_lists (opkg_t *opkg, opkg_progress_callback_t progress_callb } free (url); -#ifdef HAVE_GPGME +#if defined(HAVE_GPGME) || defined(HAVE_OPENSSL) if ( opkg->conf->check_signature ) { char *sig_file_name; /* download detached signitures to verify the package lists */ @@ -1047,11 +1043,11 @@ int opkg_repository_accessibility_check(opkg_t *opkg) { if (strstr(((pkg_src_t *)iter->data)->value, "://") && index(strstr(((pkg_src_t *)iter->data)->value, "://") + 3, '/')) - stmp = strndup(((pkg_src_t *)iter->data)->value, + stmp = xstrndup(((pkg_src_t *)iter->data)->value, (index(strstr(((pkg_src_t *)iter->data)->value, "://") + 3, '/') - ((pkg_src_t *)iter->data)->value)*sizeof(char)); else - stmp = strdup(((pkg_src_t *)iter->data)->value); + stmp = xstrdup(((pkg_src_t *)iter->data)->value); for (iter1 = str_list_first(src); iter1; iter1 = str_list_next(src, iter1)) { @@ -1087,7 +1083,6 @@ int opkg_repository_accessibility_check(opkg_t *opkg) ret++; } str_list_elt_deinit(iter1); - free(iter1); } free(src); return ret;