Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Wed, 12 Dec 2001 20:04:37 -0600 (CST) From: Jerrold Heyman To: Rahul cc: "Cygwin AT Cygwin. Com" Subject: Re: help needed in fixing C programming error using cygwin ! In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII While not directly related to cygwin, the problem is as follows: you are attempting to print an value of zero into the string - unfortunately, ASCII 0 == NULL, which is a character string termination character. You wind up with possibly two NULL bytes at the end of your string. You'll need to use something other than ASCII 0 to terminate your message string - otherwise you'll never know you got the termination. jerry On Wed, 12 Dec 2001, Rahul wrote: > Hi, > > I am sorry for this little email, I failed to find any help anywhere else so > I am sending it to you guyz. > > I am calculating LRC character and appending it at end of a string. It works > fine, except when the character is null. > i.e.. when (int)lrc = 0 > > This string is to be send to a modem port and I cannot figure out how to do > it. I am using cygwin and gcc compiler for this program. > > > Sample: Say "xmessage" is a big string of size 216 which already contain > some ASCII data. > I calculate LRC character, > then create a new string, > append STX to the new string, > followed by xmessage and > at end I append storelrc. > Problem : When LRC int value is 0 (zero) it do not get appended to message. > Part of program is below. > /* Now define LRC character */ > auto char lrc='a'; > auto char storelrc[2]=""; > int I; > /* calculate lrc */ > for(lrc=xmessage[0], I=1; xmessage[i]; I++) lrc^=xmessage[i]; > /* and copy the LRC stored in lrc to storelrc variable */ > (void) sprintf(storelrc,""); > (void) sprintf(storelrc,"%c", lrc); > /* create send message */ > auto char revmesg[96]; > (void) sprintf(revmesg, ""); > (void) sprintf(revmesg, "%c" , STX); > (void) strcat(revmesg,xmessage); > /* will not work if (int)lrc is zero */ > (void) strcat(revmesg,storelrc); > .... > ........ > > > I appreciate any suggestions. Please accept my apology if you find it off > the topic. > > Feedback > ********* > > Also there is a feedback on cygwin from my experience. It looks great works > good. But for newbies the installer lay out is very confusing. When we start > installer and it shows the screen from where one can choose what all > packages we want to download, source code etc .. the options are very > confusing and it seems lot of stuff is put on one single screen. It needs > few hit and trial to figure out how to change options. Also the cygwin > desktop icon can be made a little more "sexier", Now that I am fan of > cygwin, I want its icon to look better than windows icons ... LOL ;-) For > Redhat it should not be a big deal to improve the graphics of a tiny icon. > Thanks for listening. > > Regards, > Rahul > > > > > _________________________________________________________ > Do You Yahoo!? > Get your free @yahoo.com address at http://mail.yahoo.com > > > -- > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > Bug reporting: http://cygwin.com/bugs.html > Documentation: http://cygwin.com/docs.html > FAQ: http://cygwin.com/faq/ > Jerry Heyman 919.224.1442 | IBM SWG/Tivoli Software |"Software is the Build Infrastructure Architect | 3901 S Miami Blvd | difference between jheyman AT dev DOT tivoli DOT com | RTP, NC 27709 | hardware and reality" http://www.acm.org/~heymanj -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/