Skip to content
  • Michael Forney's avatar
    kbuild: Add a space after `!` to prevent parsing as file pattern · b5f8cb9e
    Michael Forney authored
    Some shells use !(pattern|...|pattern) to match file names not
    containing the specified patterns. This may result in output like
    
      $ ./scripts/clang-version.sh gcc
      ./scripts/clang-version.sh[18]: COPYING: not found
      printf: %d __clang_major__: conversion error
      printf: %d __clang_minor__: conversion error
      printf: %d __clang_patchlevel__: conversion error
      00000
      $
    
    and set CONFIG_CLANG_VERSION to the invalid value '00000'.
    
    POSIX says[0]
    
      If the pipeline begins with the reserved word ! and command1 is a
      subshell command, the application shall ensure that the ( operator at
      the beginning of command1 is separated from the ! by one or more
      <blank> characters. The behavior of the reserved word ! immediately
      followed by the ( operator is unspecified.
    
    So, just add a <blank> to prevent this.
    
    [0] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_02
    
    
    
    Signed-off-by: default avatarMichael Forney <mforney@mforney.o...>
    b5f8cb9e