I would suggest something a bit more descriptive than if 0. What about
#ifdef GRUB_SKIPPED_IMPORTING ?

Le mar. 16 janv. 2024, 12:24, Gary Lin via Grub-devel <grub-devel@gnu.org>
a écrit :

> From: Daniel Axtens <d...@axtens.net>
>
> We don't expect to be able to write ASN.1, only read it,
> so we can disable some code.
>
> Do that with #if 0/#endif, rather than deletion. This means
> that the difference between upstream and grub is smaller,
> which should make updating libtasn1 easier in the future.
>
> With these exclusions we also avoid the need for minmax.h,
> which is convenient because it means we don't have to
> import it from gnulib.
>
> Signed-off-by: Daniel Axtens <d...@axtens.net>
> Signed-off-by: Gary Lin <g...@suse.com>
> ---
>  grub-core/lib/libtasn1/lib/coding.c    | 12 ++++++++++--
>  grub-core/lib/libtasn1/lib/decoding.c  |  2 ++
>  grub-core/lib/libtasn1/lib/element.c   |  4 ++--
>  grub-core/lib/libtasn1/lib/errors.c    |  3 +++
>  grub-core/lib/libtasn1/lib/structure.c | 10 ++++++----
>  include/grub/libtasn1.h                | 15 +++++++++++++++
>  6 files changed, 38 insertions(+), 8 deletions(-)
>
> diff --git a/grub-core/lib/libtasn1/lib/coding.c
> b/grub-core/lib/libtasn1/lib/coding.c
> index ea5bc370e..841fe47a9 100644
> --- a/grub-core/lib/libtasn1/lib/coding.c
> +++ b/grub-core/lib/libtasn1/lib/coding.c
> @@ -30,11 +30,11 @@
>  #include "parser_aux.h"
>  #include <gstr.h>
>  #include "element.h"
> -#include "minmax.h"
>  #include <structure.h>
>
>  #define MAX_TAG_LEN 16
>
> +#if 0
>  /******************************************************/
>  /* Function : _asn1_error_description_value_not_found */
>  /* Description: creates the ErrorDescription string   */
> @@ -58,6 +58,7 @@ _asn1_error_description_value_not_found (asn1_node node,
>    Estrcat (ErrorDescription, "' not found");
>
>  }
> +#endif
>
>  /**
>   * asn1_length_der:
> @@ -244,6 +245,7 @@ asn1_encode_simple_der (unsigned int etype, const
> unsigned char *str,
>    return ASN1_SUCCESS;
>  }
>
> +#if 0
>  /******************************************************/
>  /* Function : _asn1_time_der                          */
>  /* Description: creates the DER coding for a TIME     */
> @@ -278,7 +280,7 @@ _asn1_time_der (unsigned char *str, int str_len,
> unsigned char *der,
>
>    return ASN1_SUCCESS;
>  }
> -
> +#endif
>
>  /*
>  void
> @@ -519,6 +521,7 @@ asn1_bit_der (const unsigned char *str, int bit_len,
>  }
>
>
> +#if 0
>  /******************************************************/
>  /* Function : _asn1_complete_explicit_tag             */
>  /* Description: add the length coding to the EXPLICIT */
> @@ -595,6 +598,7 @@ _asn1_complete_explicit_tag (asn1_node node, unsigned
> char *der,
>
>    return ASN1_SUCCESS;
>  }
> +#endif
>
>  const tag_and_class_st _asn1_tags[] = {
>    [ASN1_ETYPE_GENERALSTRING] =
> @@ -647,6 +651,8 @@ const tag_and_class_st _asn1_tags[] = {
>
>  unsigned int _asn1_tags_size = sizeof (_asn1_tags) / sizeof
> (_asn1_tags[0]);
>
> +
> +#if 0
>  /******************************************************/
>  /* Function : _asn1_insert_tag_der                    */
>  /* Description: creates the DER coding of tags of one */
> @@ -1423,3 +1429,5 @@ error:
>    asn1_delete_structure (&node);
>    return err;
>  }
> +
> +#endif
> \ No newline at end of file
> diff --git a/grub-core/lib/libtasn1/lib/decoding.c
> b/grub-core/lib/libtasn1/lib/decoding.c
> index b9245c486..92fc87c23 100644
> --- a/grub-core/lib/libtasn1/lib/decoding.c
> +++ b/grub-core/lib/libtasn1/lib/decoding.c
> @@ -1620,6 +1620,7 @@ asn1_der_decoding (asn1_node * element, const void
> *ider, int ider_len,
>    return asn1_der_decoding2 (element, ider, &ider_len, 0,
> errorDescription);
>  }
>
> +#if 0
>  /**
>   * asn1_der_decoding_element:
>   * @structure: pointer to an ASN1 structure
> @@ -1650,6 +1651,7 @@ asn1_der_decoding_element (asn1_node * structure,
> const char *elementName,
>  {
>    return asn1_der_decoding (structure, ider, len, errorDescription);
>  }
> +#endif
>
>  /**
>   * asn1_der_decoding_startEnd:
> diff --git a/grub-core/lib/libtasn1/lib/element.c
> b/grub-core/lib/libtasn1/lib/element.c
> index d4c558e10..5c7941e53 100644
> --- a/grub-core/lib/libtasn1/lib/element.c
> +++ b/grub-core/lib/libtasn1/lib/element.c
> @@ -191,7 +191,7 @@ _asn1_append_sequence_set (asn1_node node, struct
> node_tail_cache_st *pcache)
>    return ASN1_SUCCESS;
>  }
>
> -
> +#if 0
>  /**
>   * asn1_write_value:
>   * @node_root: pointer to a structure
> @@ -646,7 +646,7 @@ asn1_write_value (asn1_node node_root, const char
> *name,
>
>    return ASN1_SUCCESS;
>  }
> -
> +#endif
>
>  #define PUT_VALUE( ptr, ptr_size, data, data_size) \
>         *len = data_size; \
> diff --git a/grub-core/lib/libtasn1/lib/errors.c
> b/grub-core/lib/libtasn1/lib/errors.c
> index aef5dfe6f..0175ddedb 100644
> --- a/grub-core/lib/libtasn1/lib/errors.c
> +++ b/grub-core/lib/libtasn1/lib/errors.c
> @@ -57,6 +57,8 @@ static const libtasn1_error_entry error_algorithms[] = {
>    {0, 0}
>  };
>
> +
> +#if 0
>  /**
>   * asn1_perror:
>   * @error: is an error returned by a libtasn1 function.
> @@ -73,6 +75,7 @@ asn1_perror (int error)
>    const char *str = asn1_strerror (error);
>    fprintf (stderr, "LIBTASN1 ERROR: %s\n", str ? str : "(null)");
>  }
> +#endif
>
>  /**
>   * asn1_strerror:
> diff --git a/grub-core/lib/libtasn1/lib/structure.c
> b/grub-core/lib/libtasn1/lib/structure.c
> index 512dd601f..3e1e35ba5 100644
> --- a/grub-core/lib/libtasn1/lib/structure.c
> +++ b/grub-core/lib/libtasn1/lib/structure.c
> @@ -76,7 +76,7 @@ _asn1_find_left (asn1_node_const node)
>    return node->left;
>  }
>
> -
> +#if 0
>  int
>  _asn1_create_static_structure (asn1_node_const pointer,
>                                char *output_file_name, char *vector_name)
> @@ -155,7 +155,7 @@ _asn1_create_static_structure (asn1_node_const pointer,
>
>    return ASN1_SUCCESS;
>  }
> -
> +#endif
>
>  /**
>   * asn1_array2tree:
> @@ -721,7 +721,7 @@ asn1_create_element (asn1_node_const definitions,
> const char *source_name,
>    return res;
>  }
>
> -
> +#if 0
>  /**
>   * asn1_print_structure:
>   * @out: pointer to the output file (e.g. stdout).
> @@ -1062,7 +1062,7 @@ asn1_print_structure (FILE * out, asn1_node_const
> structure, const char *name,
>         }
>      }
>  }
> -
> +#endif
>
>
>  /**
> @@ -1158,6 +1158,7 @@ asn1_find_structure_from_oid (asn1_node_const
> definitions,
>    return NULL;                 /* ASN1_ELEMENT_NOT_FOUND; */
>  }
>
> +#if 0
>  /**
>   * asn1_copy_node:
>   * @dst: Destination asn1 node.
> @@ -1207,6 +1208,7 @@ asn1_copy_node (asn1_node dst, const char *dst_name,
>
>    return result;
>  }
> +#endif
>
>  /**
>   * asn1_dup_node:
> diff --git a/include/grub/libtasn1.h b/include/grub/libtasn1.h
> index 51cc7879f..507e0679e 100644
> --- a/include/grub/libtasn1.h
> +++ b/include/grub/libtasn1.h
> @@ -318,6 +318,8 @@ extern "C"
>  /*  Functions definitions          */
>  /***********************************/
>
> +/* These functions are not used in grub and should not be referenced. */
> +# if 0
>    extern ASN1_API int
>      asn1_parser2tree (const char *file,
>                       asn1_node * definitions, char *error_desc);
> @@ -326,14 +328,17 @@ extern "C"
>      asn1_parser2array (const char *inputFileName,
>                        const char *outputFileName,
>                        const char *vectorName, char *error_desc);
> +# endif
>
>    extern ASN1_API int
>      asn1_array2tree (const asn1_static_node * array,
>                      asn1_node * definitions, char *errorDescription);
>
> +# if 0
>    extern ASN1_API void
>      asn1_print_structure (FILE * out, asn1_node_const structure,
>                           const char *name, int mode);
> +# endif
>
>    extern ASN1_API int
>      asn1_create_element (asn1_node_const definitions,
> @@ -347,9 +352,11 @@ extern "C"
>    extern ASN1_API int
>      asn1_delete_element (asn1_node structure, const char *element_name);
>
> +# if 0
>    extern ASN1_API int
>      asn1_write_value (asn1_node node_root, const char *name,
>                       const void *ivalue, int len);
> +# endif
>
>    extern ASN1_API int
>      asn1_read_value (asn1_node_const root, const char *name,
> @@ -366,9 +373,11 @@ extern "C"
>      asn1_number_of_elements (asn1_node_const element, const char *name,
>                              int *num);
>
> +# if 0
>    extern ASN1_API int
>      asn1_der_coding (asn1_node_const element, const char *name,
>                      void *ider, int *len, char *ErrorDescription);
> +# endif
>
>    extern ASN1_API int
>      asn1_der_decoding2 (asn1_node * element, const void *ider,
> @@ -379,6 +388,7 @@ extern "C"
>      asn1_der_decoding (asn1_node * element, const void *ider,
>                        int ider_len, char *errorDescription);
>
> +# if 0
>  /* Do not use. Use asn1_der_decoding() instead. */
>    extern ASN1_API int
>      asn1_der_decoding_element (asn1_node * structure,
> @@ -386,6 +396,7 @@ extern "C"
>                                const void *ider, int len,
>                                char *errorDescription)
>      _ASN1_GCC_ATTR_DEPRECATED;
> +# endif
>
>    extern ASN1_API int
>      asn1_der_decoding_startEnd (asn1_node element,
> @@ -411,12 +422,16 @@ extern "C"
>                                                             const char
>                                                             *oidValue);
>
> +# if 0
>      __LIBTASN1_PURE__
>      extern ASN1_API const char *asn1_check_version (const char
> *req_version);
> +# endif
>
>    __LIBTASN1_PURE__ extern ASN1_API const char *asn1_strerror (int error);
>
> +# if 0
>    extern ASN1_API void asn1_perror (int error);
> +# endif
>
>  # define ASN1_MAX_TAG_SIZE 4
>  # define ASN1_MAX_LENGTH_SIZE 9
> --
> 2.35.3
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to