ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
From: "phasis68 (Heesob Park)" <phasis@gmail.com>
To: ruby-core@ruby-lang.org
Subject: [ruby-core:55067] [ruby-trunk - Bug #8427] gets method truncates strings longer than 255 characters in Windows 7
Date: Mon, 20 May 2013 10:16:07 +0900	[thread overview]
Message-ID: <redmine.journal-39442.20130520101607@ruby-lang.org> (raw)
In-Reply-To: redmine.issue-8427.20130520074631@ruby-lang.org


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/

  reply	other threads:[~2013-05-20  1:41 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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) [this message]
2019-08-15 18:59 ` [ruby-core:94369] [Ruby master Bug#8427] " merch-redmine

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.ruby-lang.org/en/community/mailing-lists/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=redmine.journal-39442.20130520101607@ruby-lang.org \
    --to=ruby-core@ruby-lang.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).