X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=cmd%2Flicense.c;h=c5b04c331b11336f5ad8e403cf0169069bbb25d3;hb=9b2e892eb6e30913ee8ca95f1a360d61785d0912;hp=5ee57f8ca3d922cc96c1ba00fd00ae596c32d1fb;hpb=814013253fd4cf932d0fb32f7043f09a2a748d9a;p=oweals%2Fu-boot.git diff --git a/cmd/license.c b/cmd/license.c index 5ee57f8ca3..c5b04c331b 100644 --- a/cmd/license.c +++ b/cmd/license.c @@ -1,36 +1,41 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * (C) Copyright 2007 by OpenMoko, Inc. * Author: Harald Welte - * - * SPDX-License-Identifier: GPL-2.0+ */ #include - -/* Licenses/gpl-2.0.txt is currently 18092 bytes in size */ -#define LICENSE_MAX 20480 - #include +#include #include -#include -int do_license(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +#include "license_data_gz.h" +#include "license_data_size.h" + +static int do_license(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { - char *dst = malloc(LICENSE_MAX); - unsigned long len = LICENSE_MAX; + char *dst; + unsigned long len = data_size; + int ret = CMD_RET_SUCCESS; + dst = malloc(data_size + 1); if (!dst) - return -1; + return CMD_RET_FAILURE; - if (gunzip(dst, LICENSE_MAX, license_gzip, &len) != 0) { + ret = gunzip(dst, data_size, (unsigned char *)data_gz, &len); + if (ret) { printf("Error uncompressing license text\n"); - free(dst); - return -1; + ret = CMD_RET_FAILURE; + goto free; } + + dst[data_size] = 0; puts(dst); + +free: free(dst); - return 0; + return ret; } U_BOOT_CMD(