mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
pngimage.c: Initialize sig_bits on a NOTREACHED path to avoid warnings about using uninitialized variables. pngstest.c: Enlarge buffers and fix signedness to avoid legitimate warnings about potential buffer overflows. pngunknown.c: pngvalid.c: Use NULL instead of 0 for pointers and apply other style fixes. makepng.c: tarith.c: Apply various style fixes. Also remove the "last changed" version info from source comments. The version control system maintains this information automatically.
101 lines
2.2 KiB
Bash
Executable File
101 lines
2.2 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2013 John Cunningham Bowler
|
|
#
|
|
# This code is released under the libpng license.
|
|
# For conditions of distribution and use, see the disclaimer
|
|
# and license in png.h
|
|
#
|
|
# Generate a set of PNG test images. The images are generated in a
|
|
# sub-directory called 'tests' by default, however a command line argument will
|
|
# change that name. The generation requires a built version of makepng in the
|
|
# current directory.
|
|
#
|
|
usage(){
|
|
exec >&2
|
|
echo "$0 [<directory>]"
|
|
echo ' Generate a set of PNG test files in "directory" ("tests" by default)'
|
|
exit 1
|
|
}
|
|
|
|
mp="$PWD/makepng"
|
|
test -x "$mp" || {
|
|
exec >&2
|
|
echo "$0: the 'makepng' program must exist"
|
|
echo " in the directory within which this program:"
|
|
echo " $mp"
|
|
echo " is executed"
|
|
usage
|
|
}
|
|
|
|
# Just one argument: the directory
|
|
testdir="tests"
|
|
test $# -gt 1 && {
|
|
testdir="$1"
|
|
shift
|
|
}
|
|
test $# -eq 0 || usage
|
|
|
|
# Take care not to clobber something
|
|
if test -e "$testdir"
|
|
then
|
|
test -d "$testdir" || usage
|
|
else
|
|
# mkdir -p isn't portable, so do the following
|
|
mkdir "$testdir" 2>/dev/null || mkdir -p "$testdir" || usage
|
|
fi
|
|
|
|
# This fails in a very satisfactory way if it's not accessible
|
|
cd "$testdir"
|
|
:>"test$$.png" || {
|
|
exec >&2
|
|
echo "$testdir: directory not writable"
|
|
usage
|
|
}
|
|
rm "test$$.png" || {
|
|
exec >&2
|
|
echo "$testdir: you have create but not write privileges here."
|
|
echo " This is unexpected. You have a spurion; "'"'"test$$.png"'"'"."
|
|
echo " You need to remove this yourself. Try a different directory."
|
|
exit 1
|
|
}
|
|
|
|
# Now call makepng ($mp) to create every file we can think of with a
|
|
# reasonable name
|
|
doit(){
|
|
for gamma in "" --sRGB --linear --1.8
|
|
do
|
|
case "$gamma" in
|
|
"")
|
|
gname=;;
|
|
--sRGB)
|
|
gname="-srgb";;
|
|
--linear)
|
|
gname="-lin";;
|
|
--1.8)
|
|
gname="-18";;
|
|
*)
|
|
gname="-$gamma";;
|
|
esac
|
|
"$mp" $gamma "$1" "$2" "test-$1-$2$gname.png"
|
|
done
|
|
}
|
|
#
|
|
for ct in gray palette
|
|
do
|
|
for bd in 1 2 4 8
|
|
do
|
|
doit "$ct" "$bd"
|
|
done
|
|
done
|
|
#
|
|
doit "gray" "16"
|
|
#
|
|
for ct in gray-alpha rgb rgb-alpha
|
|
do
|
|
for bd in 8 16
|
|
do
|
|
doit "$ct" "$bd"
|
|
done
|
|
done
|