summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2017-01-11 11:41:13 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2017-01-11 11:41:13 (GMT)
commit7351a944cfea2faa238bf630aa446bed104c01f2 (patch)
tree8c814c1b807d35e0b9286c7691840e7f4f059c63
parent251212bac0b047b26ad2fe76606688347175f3b9 (diff)
parentec5e2f38d3eb0132822396f9b105d4cc5c78e86b (diff)
downloadtk-7351a944cfea2faa238bf630aa446bed104c01f2.zip
tk-7351a944cfea2faa238bf630aa446bed104c01f2.tar.gz
tk-7351a944cfea2faa238bf630aa446bed104c01f2.tar.bz2
Fix [d4fb4e80d220e46e588f310291fd7a4205e8cd67|d4fb4e80d2]: Image photo commands read/write/put do not accept "-" as first letter in file names resp. image data
-rw-r--r--generic/tkImgPhoto.c6
-rw-r--r--tests/imgPhoto.test10
2 files changed, 15 insertions, 1 deletions
diff --git a/generic/tkImgPhoto.c b/generic/tkImgPhoto.c
index 4ee9f69..1bd0142 100644
--- a/generic/tkImgPhoto.c
+++ b/generic/tkImgPhoto.c
@@ -1540,7 +1540,11 @@ ParseSubcommandOptions(
*/
if (!(allowedOptions & bit)) {
- goto unknownOrAmbiguousOption;
+ if (optPtr->name != NULL) {
+ goto unknownOrAmbiguousOption;
+ }
+ optPtr->name = objv[index];
+ continue;
}
/*
diff --git a/tests/imgPhoto.test b/tests/imgPhoto.test
index 8cf1639..f9ffa94 100644
--- a/tests/imgPhoto.test
+++ b/tests/imgPhoto.test
@@ -804,6 +804,16 @@ test imgPhoto-4.74 {ImgPhotoCmd procedure: put option error handling} -setup {
} -cleanup {
image delete photo1
} -returnCodes 1 -result {wrong # args: should be "photo1 put data ?-option value ...?"}
+test imgPhoto-4.75 {<photo> read command: filename starting with '-'} -constraints {
+ hasTeapotPhoto
+} -body {
+ file copy -force $teapotPhotoFile -teapotPhotoFile
+ image create photo photo1
+ photo1 read -teapotPhotoFile
+} -cleanup {
+ image delete photo1
+ file delete ./-teapotPhotoFile
+} -result {}
test imgPhoto-5.1 {ImgPhotoGet/Free procedures, shared instances} -constraints {
hasTeapotPhoto