TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Phil Crown
from: Roland Ott
date: 1995-02-08 05:24:28
subject: Re: EMX strtok bug!

Hi Phil,

 PC> I think I've found a bug in EMX's strtok() function.  Below compiles

I dont think so

 PC> LONG  main()
 PC> {
 PC> stoi_znnp( "1:124/6108" );
 PC> return 0;
 PC> }

strtok modifies the string by replacing tokens with '\0'. The FIDO
address above is placed in a DATA segment by the compiler, which you
are not allowed to write (it's a string *constant*).

the following modification should do the job:

 char adr[20] = "1:124/6108";
 stoi_znnp( adr );

P.S.:
another (more simple) approach would be

 sscanf(adr, "%d:%d/%d.%d", &zone, &network, &node,
&point);

cu/2 Roland

... I program like a MAN.  I use COPY CON PROGRAM.EXE      
--- Blue Wave/Max v2.12 OS/2 [NR]
* Origin: CCWN: Leistung ueberzeugt !!! (2:246/1401)
SEEN-BY: 12/2442 620/243 624/50 632/348 640/820 690/660 711/409 410 413 430
SEEN-BY: 711/807 808 809 934 942 949 955 712/515 713/888 800/1 7877/2809
@PATH: 246/20 240/5500 396/1 3615/50 229/2 12/2442 711/409 808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.