Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#! /bin/sh

# Test ISO C 99 <inttypes.h> format string directives.

tmpfiles=""
trap 'rm -fr $tmpfiles' 1 2 3 15

tmpfiles="$tmpfiles mf-12.po"
cat <<\EOF > mf-12.po
msgid ""
msgstr "Content-Type: text/plain; charset=ISO-8859-1\n"

#, c-format
msgid "File size is: %<PRId64>"
msgstr "Dateigröße ist: %<PRId64>"

#, c-format
msgid "File age is %10<PRIdMAX> microseconds"
msgstr "Datei ist %10<PRIdMAX> Mikrosekunden alt."

msgid "<PRIXFAST16> errors"
msgstr "<PRIXFAST16> Fehler"
EOF

tmpfiles="$tmpfiles mf-12.mo"
: ${MSGFMT=msgfmt}
${MSGFMT} -o mf-12.mo mf-12.po
test $? = 0 || { rm -fr $tmpfiles; exit 1; }

tmpfiles="$tmpfiles mf-12.out"
: ${MSGUNFMT=msgunfmt}
${MSGUNFMT} -o mf-12.out mf-12.mo
test $? = 0 || { rm -fr $tmpfiles; exit 1; }

tmpfiles="$tmpfiles mf-12.ok"
cat <<\EOF > mf-12.ok
msgid ""
msgstr "Content-Type: text/plain; charset=ISO-8859-1\n"

msgid "<PRIXFAST16> errors"
msgstr "<PRIXFAST16> Fehler"

#, c-format
msgid "File size is: %<PRId64>"
msgstr "Dateigröße ist: %<PRId64>"

#, c-format
msgid "File age is %10<PRIdMAX> microseconds"
msgstr "Datei ist %10<PRIdMAX> Mikrosekunden alt."
EOF

: ${DIFF=diff}
${DIFF} mf-12.ok mf-12.out
result=$?

rm -fr $tmpfiles

exit $result