aboutsummaryrefslogtreecommitdiffstats
path: root/include/image-commands.mk
diff options
context:
space:
mode:
authorHuangbin Zhan <zhanhb88@gmail.com>2022-03-30 00:15:29 +0800
committerChristian Marangi <ansuelsmth@gmail.com>2022-10-13 15:57:35 +0200
commit2f8ac8bcea879542b2bc414a108c3aff166d5ef5 (patch)
tree09169e1c52519cd77e314ed2cea7affa3ea07cac /include/image-commands.mk
parent88803cb0e6e42ea00bd7c3dc8838e660239d3f16 (diff)
downloadupstream-2f8ac8bcea879542b2bc414a108c3aff166d5ef5.tar.gz
upstream-2f8ac8bcea879542b2bc414a108c3aff166d5ef5.tar.bz2
upstream-2f8ac8bcea879542b2bc414a108c3aff166d5ef5.zip
build: image: use printf for ModelNameLimit16
Fix syntax error on macos, for substr is undefined results according to the POSIX standard. From expr on macos: According to the POSIX standard, the use of string arguments length, substr, index, or match produces undefined results. In this version of expr, these arguments are treated just as their respective string values. By a simple test Makefile: define ModelNameLimit16 $(shell expr substr "$(word 2, $(subst _, ,$(1)))" 1 16) endef define ModelNameLimit16_2 $(shell printf %.16s "$(word 2, $(subst _, ,$(1)))") endef hello: echo $(call ModelNameLimit16, technicolor_tg582n-telecom-italia) echo $(call ModelNameLimit16_2, technicolor_tg582n-telecom-italia) The same output is produced. echo tg582n-telecom-i tg582n-telecom-i echo tg582n-telecom-i tg582n-telecom-i Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com> [ wrap commit description to 80 columns and improve it ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Diffstat (limited to 'include/image-commands.mk')
-rw-r--r--include/image-commands.mk2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/image-commands.mk b/include/image-commands.mk
index 6fe2890a1a..6b4bc4945c 100644
--- a/include/image-commands.mk
+++ b/include/image-commands.mk
@@ -4,7 +4,7 @@ IMAGE_KERNEL = $(word 1,$^)
IMAGE_ROOTFS = $(word 2,$^)
define ModelNameLimit16
-$(shell expr substr "$(word 2, $(subst _, ,$(1)))" 1 16)
+$(shell printf %.16s "$(word 2, $(subst _, ,$(1)))")
endef
define rootfs_align