* [ruby-core:55062] [ruby-trunk - Bug #8427][Open] gets method truncates strings longer than 255 characters in Windows 7
@ 2013-05-19 22:46 jen (Jen Marsh)
2013-05-20 1:16 ` [ruby-core:55067] [ruby-trunk - Bug #8427] " phasis68 (Heesob Park)
2019-08-15 18:59 ` [ruby-core:94369] [Ruby master Bug#8427] " merch-redmine
0 siblings, 2 replies; 3+ messages in thread
From: jen (Jen Marsh) @ 2013-05-19 22:46 UTC (permalink / raw)
To: ruby-core
Issue #8427 has been reported by jen (Jen Marsh).
----------------------------------------
Bug #8427: gets method truncates strings longer than 255 characters in Windows 7
https://bugs.ruby-lang.org/issues/8427
Author: jen (Jen Marsh)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 2.0.0p195 (2013-05-14) [x64-mingw32]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN
When using the gets method from a Windows 7 command line (or XP according to other users), long input strings are truncated to 255 characters. Here is an example of code:
puts "Enter long string"
long_string = gets
puts "size of string : #{long_string.length}"
puts "string: #{long_string}"
For input strings of length exceeding 255 characters, the entered string is always truncated to 255 characters.
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* [ruby-core:55067] [ruby-trunk - Bug #8427] gets method truncates strings longer than 255 characters in Windows 7
2013-05-19 22:46 [ruby-core:55062] [ruby-trunk - Bug #8427][Open] gets method truncates strings longer than 255 characters in Windows 7 jen (Jen Marsh)
@ 2013-05-20 1:16 ` phasis68 (Heesob Park)
2019-08-15 18:59 ` [ruby-core:94369] [Ruby master Bug#8427] " merch-redmine
1 sibling, 0 replies; 3+ messages in thread
From: phasis68 (Heesob Park) @ 2013-05-20 1:16 UTC (permalink / raw)
To: ruby-core
Issue #8427 has been updated by phasis68 (Heesob Park).
This bug is caused by changesets r28035, r29980 and r30280.
Here is a possible workaround patch:
diff --git a/win32.c b/win32.c.new
index 318af2f..b821cd4 100644
--- a/win32.c
+++ b/win32.c.new
@@ -6058,6 +6058,10 @@ rb_w32_read(int fd, void *buf, size_t size)
DWORD mode;
GetConsoleMode((HANDLE)_osfhnd(fd),&mode);
islineinput = (mode & ENABLE_LINE_INPUT) != 0;
+ if(size > 20480) {
+ size = 20480;
+ isconsole = FALSE;
+ }
}
retry:
/* get rid of console reading bug */
----------------------------------------
Bug #8427: gets method truncates strings longer than 255 characters in Windows 7
https://bugs.ruby-lang.org/issues/8427#change-39442
Author: jen (Jen Marsh)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 2.0.0p195 (2013-05-14) [x64-mingw32]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN
When using the gets method from a Windows 7 command line (or XP according to other users), long input strings are truncated to 255 characters. Here is an example of code:
puts "Enter long string"
long_string = gets
puts "size of string : #{long_string.length}"
puts "string: #{long_string}"
For input strings of length exceeding 255 characters, the entered string is always truncated to 255 characters.
--
http://bugs.ruby-lang.org/
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [ruby-core:94369] [Ruby master Bug#8427] gets method truncates strings longer than 255 characters in Windows 7
2013-05-19 22:46 [ruby-core:55062] [ruby-trunk - Bug #8427][Open] gets method truncates strings longer than 255 characters in Windows 7 jen (Jen Marsh)
2013-05-20 1:16 ` [ruby-core:55067] [ruby-trunk - Bug #8427] " phasis68 (Heesob Park)
@ 2019-08-15 18:59 ` merch-redmine
1 sibling, 0 replies; 3+ messages in thread
From: merch-redmine @ 2019-08-15 18:59 UTC (permalink / raw)
To: ruby-core
Issue #8427 has been updated by jeremyevans0 (Jeremy Evans).
Backport deleted (1.9.3: UNKNOWN, 2.0.0: UNKNOWN)
Status changed from Open to Closed
I tried using `gets` with a string with 300 characters on Windows 10, and was not able to reproduce the error (no string truncation). I tried with various versions of Ruby as far back as 1.9.3. I'm not sure if this is still a problem on Windows 7 or not with the master branch, but Windows 7 is almost out of support. If anyone is still affected by this issue, please post here and we can reopen.
----------------------------------------
Bug #8427: gets method truncates strings longer than 255 characters in Windows 7
https://bugs.ruby-lang.org/issues/8427#change-80782
* Author: jen (Jen Marsh)
* Status: Closed
* Priority: Normal
* Assignee:
* Target version:
* ruby -v: ruby 2.0.0p195 (2013-05-14) [x64-mingw32]
* Backport:
----------------------------------------
When using the gets method from a Windows 7 command line (or XP according to other users), long input strings are truncated to 255 characters. Here is an example of code:
puts "Enter long string"
long_string = gets
puts "size of string : #{long_string.length}"
puts "string: #{long_string}"
For input strings of length exceeding 255 characters, the entered string is always truncated to 255 characters.
--
https://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-08-15 18:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-19 22:46 [ruby-core:55062] [ruby-trunk - Bug #8427][Open] gets method truncates strings longer than 255 characters in Windows 7 jen (Jen Marsh)
2013-05-20 1:16 ` [ruby-core:55067] [ruby-trunk - Bug #8427] " phasis68 (Heesob Park)
2019-08-15 18:59 ` [ruby-core:94369] [Ruby master Bug#8427] " merch-redmine
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).