This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: help needed in fixing C programming error using cygwin !


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@dev.tivoli.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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]