From: jimen AT adtech-inc DOT com (Jimen Ching) Subject: Bug with fwrite? 24 May 1997 09:15:28 -0700 Sender: mail AT cygnus DOT com Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <01BC67A6.01B718E0.cygnus.gnu-win32@ilima038.lava.net> Original-To: "'gnu-win32 AT cygnus DOT com'" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BC67A6.01B89F80" Original-Sender: owner-gnu-win32 AT cygnus DOT com ------ =_NextPart_000_01BC67A6.01B89F80 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable The following program does not generate the correct output file. I ran = the program on a file with just "11" in the contents. The chksum is = valid in the calc_chksum function. But when I view the output file, it = is not the same. I'm using cygwin32 b18. --jc ------ =_NextPart_000_01BC67A6.01B89F80 Content-Type: application/octet-stream; name="INTSTK.C" Content-Transfer-Encoding: base64 LyoNCiAqIGludHN0ay5jDQogKg0KICogVGhpcyBwcm9ncmFtIHN0YWNrcyBleGVjdXRhYmxlIGNv ZGUgaW50byBhIGZpbGUuICBUaGUgZmlsZSBmb3JtYXQgaXMgYXMNCiAqIGZvbGxvd3M6DQogKg0K ICogMDAwMCAtIDAwNDAJCUhlYWRlcg0KICogMDA0MCAtIHh4eHgJCUludGVyZmFjZSAxDQogKiB4 eHh4IC0geXl5eQkJSW50ZXJmYWNlIDINCiAqIHl5eXkgLSB6enp6CQlJbnRlcmZhY2UgMw0KICog IC4uLg0KICoNCiAqIFdlIGFzc3VtZSB0aGUgZmlsZSBpcyBhdCBtb3N0IFNFR19NQVggYnl0ZXMg bG9uZy4gIEFueSBieXRlcyBiZXlvbmQgdGhpcw0KICogbGltaXQgaXMgaWdub3JlZC4NCiAqDQog KiBTeW50YXg6ICBpbnRzdGsgWy1hXSAtbyBvdXRmaWxlIGludGZjMSBbLi4uXQ0KICoNCiAqIC1h IEFwcGVuZCB0byBvdXRwdXQgZmlsZS4NCiAqIC1vIEZpbGVuYW1lIG9mIG91dHB1dCBmaWxlLg0K ICovDQoNCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0cmluZy5oPg0KI2luY2x1ZGUg PHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQoNCiNkZWZpbmUgSERSX01BR0lDCTB4NWQ1 ZQ0KI2RlZmluZSBIRFJfTUFYCQkzMQ0KI2RlZmluZSBTRUdfTUFYCQk0MDk2DQoNCi8qIERhdGEg c3RydWN0dXJlIGNvbnRhaW5pbmcgaW50ZXJmYWNlIGV4ZWN1dGFibGUgY29kZSBpbmZvcm1hdGlv bi4gKi8NCnN0cnVjdCBoZWFkZXINCgl7DQoJc2hvcnQgb2Zmc2V0Ow0KCXNob3J0IGxlbjsNCgl9 Ow0KDQovKg0KICogQXJyYXkgb2YgaW50ZXJmYWNlIGluZm9ybWF0aW9uLiAgVGhpcyBpcyB3cml0 dGVuIHRvIHRoZSBvdXRwdXQgZmlsZQ0KICogYXMgdGhlIGhlYWRlci4NCiAqLw0Kc3RydWN0IGhl YWRlcl9saXN0DQoJew0KCXNob3J0IG1hZ2ljOw0KCXNob3J0IGxlbjsNCglzdHJ1Y3QgaGVhZGVy IGhkcltIRFJfTUFYXTsNCgl9Ow0KDQpzaG9ydA0KZmlsZV9zaXplKEZJTEUgKmZwKQ0KCXsNCgls b25nIHNpemU7DQoNCglpZiAoZnNlZWsoZnAsIDBMLCBTRUVLX0VORCkgIT0gMCkNCgkJcmV0dXJu IDA7DQoJc2l6ZSA9IGZ0ZWxsKGZwKTsNCglpZiAoZnNlZWsoZnAsIDBMLCBTRUVLX1NFVCkgIT0g MCkNCgkJcmV0dXJuIDA7DQoJaWYgKHNpemUgPT0gLTFMKQ0KCQlyZXR1cm4gMDsNCglyZXR1cm4g KHNob3J0KSBzaXplOw0KCX0NCg0KaW50DQpmaWxlX2NvcHkoRklMRSAqb3V0LCBGSUxFICppbiwg c2hvcnQgbGVuKQ0KCXsNCglzaG9ydCAqYnVmOw0KDQoJaWYgKG91dCA9PSAwIHx8IGluID09IDAg fHwgbGVuID4gU0VHX01BWCkNCgkJcmV0dXJuIDE7DQoNCglidWYgPSBjYWxsb2Moc2l6ZW9mKHNo b3J0KSwgbGVuKTsNCglmcmVhZChidWYsIHNpemVvZihzaG9ydCksIGxlbiwgaW4pOw0KCWlmIChm ZXJyb3IoaW4pICE9IDApDQoJCWdvdG8gZXJyb3JfaGFuZGxlcjsNCglpZiAoZndyaXRlKGJ1Ziwg c2l6ZW9mKHNob3J0KSwgbGVuLCBvdXQpICE9IChzaXplX3QpIGxlbikNCgkJZ290byBlcnJvcl9o YW5kbGVyOw0KDQoJcmV0dXJuIDA7DQoNCmVycm9yX2hhbmRsZXI6DQoJZnJlZShidWYpOw0KCXJl dHVybiAxOw0KCX0NCg0Kdm9pZA0KY2FsY19jaGtzdW0oY29uc3QgY2hhciAqZm4pDQoJew0KCXVu c2lnbmVkIHNob3J0IGNoa3N1bSA9IDA7DQoJdW5zaWduZWQgc2hvcnQgdmFsdWU7DQoJRklMRSAq ZnAgPSBmb3BlbihmbiwgInIrYiIpOw0KCWlmIChmcCA9PSAwKQ0KCQl7DQoJCWZwcmludGYoc3Rk ZXJyLCAiRmlsZSAnJXMnIG5vdCBmb3VuZC5cbiIsIGZuKTsNCgkJcmV0dXJuOw0KCQl9DQoNCgl3 aGlsZSAoMSA9PSAxKQ0KCQl7DQoJCWZyZWFkKCZ2YWx1ZSwgc2l6ZW9mKHZhbHVlKSwgMSwgZnAp Ow0KCQlpZiAoZmVvZihmcCkpDQoJCQlicmVhazsNCgkJY2hrc3VtICs9IHZhbHVlOw0KCQl9DQoN CgkvKiBXcml0ZSBjaGVja3N1bSB0byBlbmQgb2YgZmlsZS4gIENoZWNrc3VtIGlzIGluIG9uZXMt Y29tcGxlbWVudC4gKi8NCgljaGtzdW0gPSB+KGNoa3N1bSk7DQoJaWYgKGZ3cml0ZSgmY2hrc3Vt LCBzaXplb2YoY2hrc3VtKSwgMSwgZnApICE9IDEpDQoJCWZwcmludGYoc3RkZXJyLCAiRXJyb3Ig d3JpdGluZyB0byBmaWxlICclcycuXG4iLCBmbik7DQoJfQ0KDQppbnQNCm1haW4oaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkNCgl7DQoJaW50IGlkeCA9IDE7DQoJaW50IGFwcGVuZCA9IDA7DQoJc3Ry dWN0IGhlYWRlcl9saXN0IGhkcjsNCgljaGFyICpvdXRfZmlsZW5hbWUgPSAwOw0KCUZJTEUgKm91 dF9maWxlID0gMDsNCglGSUxFICppbl9maWxlID0gMDsNCg0KCWlmIChhcmdjIDwgMikNCgkJew0K CQlmcHJpbnRmKHN0ZGVyciwgInN5bnRheDogJXMgWy1hXSAtbyBvdXRmaWxlIGludGZjMSBbLi4u XVxuIiwgYXJndlswXSk7DQoJCXJldHVybiAwOw0KCQl9DQoNCgkvKiBQYXJzZSBjb21tYWQgbGlu ZS4gIEl0IGlzIGFuIGVycm9yIGlmIG91dGZpbGUgaXMgbm90IHNwZWNpZmllZC4gKi8NCglpZiAo c3RyY21wKGFyZ3ZbaWR4XSwgIi1hIikgPT0gMCkNCgkJew0KCQkrK2lkeDsNCgkJYXBwZW5kID0g MTsNCgkJfQ0KCWlmIChzdHJjbXAoYXJndltpZHhdLCAiLW8iKSA9PSAwKQ0KCQl7DQoJCSsraWR4 Ow0KCQlvdXRfZmlsZW5hbWUgPSBhcmd2W2lkeF07DQoJCWlmIChhcHBlbmQpDQoJCQlvdXRfZmls ZSA9IGZvcGVuKG91dF9maWxlbmFtZSwgInIrYiIpOw0KCQllbHNlDQoJCQlvdXRfZmlsZSA9IGZv cGVuKG91dF9maWxlbmFtZSwgIncrYiIpOw0KCQkrK2lkeDsNCgkJfQ0KCWlmIChvdXRfZmlsZSA9 PSAwKQ0KCQl7DQoJCWZwcmludGYoc3RkZXJyLCAic3ludGF4OiAlcyBbLWFdIC1vIG91dGZpbGUg aW50ZmMxIFsuLi5dXG4iLCBhcmd2WzBdKTsNCgkJcmV0dXJuIDA7DQoJCX0NCg0KCWlmIChhcHBl bmQpDQoJCXsNCgkJLyoNCgkJICogQXBwZW5kIHRvIG91dHB1dCBmaWxlLiAgTXVzdCBmaXJzdCBy ZWFkIHRoZSBvcmlnaW5hbCBoZWFkZXIuDQoJCSAqIE1vZGlmeSB0aGlzIGhlYWRlciBhbmQgd3Jp dGUgaXQgYmFjayB3aGVuIGRvbmUuICBXZSBtdXN0DQoJCSAqIGFsc28gbW92ZSB0aGUgZmlsZSBw b2ludGVyIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUuDQoJCSAqLw0KCQlpbnQgY2hrOw0KCQlpbnQg cG9zID0gc2l6ZW9mKGhkcik7DQoJCWNoayA9IGZyZWFkKCZoZHIsIHNpemVvZihoZHIpLCAxLCBv dXRfZmlsZSk7DQoJCWlmIChjaGsgIT0gMSB8fCBmZXJyb3Iob3V0X2ZpbGUpICE9IDAgfHwgaGRy Lm1hZ2ljICE9IEhEUl9NQUdJQykNCgkJCXsNCgkJCWZwcmludGYoc3RkZXJyLCAiRmlsZSAnJXMn KCUwNHgpIGlzIGFuIGludmFsaWQgb3V0cHV0IGZpbGUuXG4iLCBvdXRfZmlsZW5hbWUsIGhkci5t YWdpYyk7DQoJCQlnb3RvIGVycm9yX2hhbmRsZXI7DQoJCQl9DQoJCS8qIE1vdmUgdG8gdGhlIGNo ZWNrc3VtIGxvY2F0aW9uLiAgVGhpcyB3aWxsIG92ZXJ3cml0ZSB0aGUgY3VycmVudCBjaGVja3N1 bS4gKi8NCgkJZm9yIChjaGsgPSAwOyBjaGsgPCBoZHIubGVuOyArK2NoaykNCgkJCXBvcyArPSAo aGRyLmhkcltjaGtdLmxlbiAqIDIpOyAvKiBMZW5ndGggdmFsdWUgaXMgd29yZCBjb3VudC4gKi8N CgkJaWYgKGZzZWVrKG91dF9maWxlLCBwb3MsIFNFRUtfU0VUKSAhPSAwKQ0KCQkJew0KCQkJZnBy aW50ZihzdGRlcnIsICJGaWxlICclcycgaGFzIHplcm8gbGVuZ3RoLCBvciBlcnJvciBhY2Nlc3Np bmcgZmlsZS5cbiIsIG91dF9maWxlbmFtZSk7DQoJCQlnb3RvIGVycm9yX2hhbmRsZXI7DQoJCQl9 DQoJCX0NCgllbHNlDQoJCXsNCgkJLyogRmlsbCBmaXJzdCAxMjggYnl0ZXMgb2YgZmlsZSB3aXRo IHN0dWIgaGVhZGVyLiAqLw0KCQltZW1zZXQoJmhkciwgJ1wwJywgc2l6ZW9mKGhkcikpOw0KCQlo ZHIubWFnaWMgPSBIRFJfTUFHSUM7DQoJCWlmIChmd3JpdGUoJmhkciwgc2l6ZW9mKGhkciksIDEs IG91dF9maWxlKSAhPSAxKQ0KCQkJew0KCQkJZnByaW50ZihzdGRlcnIsICJFcnJvciB3cml0aW5n IHRvIGZpbGUgJyVzJy5cbiIsIG91dF9maWxlbmFtZSk7DQoJCQlnb3RvIGVycm9yX2hhbmRsZXI7 DQoJCQl9DQoJCX0NCg0KCS8qIFdyaXRlIGlucHV0IGZpbGVzIHRvIG91dHB1dCBmaWxlLiAqLw0K CXdoaWxlIChpZHggPCBhcmdjICYmIGhkci5sZW4gPCBIRFJfTUFYKQ0KCQl7DQoJCWluX2ZpbGUg PSBmb3Blbihhcmd2W2lkeF0sICJyYiIpOw0KCQlpZiAoaW5fZmlsZSA9PSAwKQ0KCQkJew0KCQkJ ZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gb3BlbiBpbnB1dCBmaWxlICclcycuXG4iLCBhcmd2 W2lkeF0pOw0KCQkJZ290byBlcnJvcl9oYW5kbGVyOw0KCQkJfQ0KDQoJCWhkci5oZHJbaGRyLmxl bl0ub2Zmc2V0ID0gKHNob3J0KSBmdGVsbChvdXRfZmlsZSk7DQoJCWhkci5oZHJbaGRyLmxlbl0u bGVuID0gZmlsZV9zaXplKGluX2ZpbGUpOw0KCQlpZiAoaGRyLmhkcltoZHIubGVuXS5sZW4gPT0g MCkNCgkJCXsNCgkJCWZwcmludGYoc3RkZXJyLCAiRmlsZSAnJXMnIGhhcyB6ZXJvIGxlbmd0aCwg b3IgZXJyb3IgYWNjZXNzaW5nIGZpbGUuXG4iLCBhcmd2W2lkeF0pOw0KCQkJZ290byBlcnJvcl9o YW5kbGVyOw0KCQkJfQ0KCQkvKg0KCQkgKiBDb252ZXJ0IG9mZnNldCBhbmQgbGVuZ3RoIHRvIHdv cmQgY291bnQuICBBZGQgb25lIHRvIGxlbmd0aCB2YWx1ZSBpbiBjYXNlIGl0DQoJCSAqIGlzIG9k ZC4gIFRoZSBvZmZzZXQgc2hvdWxkIGFsd2F5cyBiZSBldmVuIHNpbmNlIHdlIG9ubHkgd2lydGUg c2hvcnRzIHRvIHRoZQ0KCQkgKiBvdXRwdXQgZmlsZS4NCgkJICovDQoJCWhkci5oZHJbaGRyLmxl bl0ub2Zmc2V0ID0gaGRyLmhkcltoZHIubGVuXS5vZmZzZXQgLyAyOw0KCQloZHIuaGRyW2hkci5s ZW5dLmxlbiA9IChoZHIuaGRyW2hkci5sZW5dLmxlbiArIDEpIC8gMjsNCg0KCQkvKiBBcHBlbmQg aW5wdXQgZmlsZSB0byBvdXRwdXQgZmlsZS4gKi8NCgkJaWYgKGZpbGVfY29weShvdXRfZmlsZSwg aW5fZmlsZSwgaGRyLmhkcltoZHIubGVuXS5sZW4pKQ0KCQkJew0KCQkJZnByaW50ZihzdGRlcnIs ICJDYW4ndCBjb3B5IGZpbGUgJyVzJy5cbiIsIGFyZ3ZbaWR4XSk7DQoJCQlnb3RvIGVycm9yX2hh bmRsZXI7DQoJCQl9DQoNCgkJKytpZHg7DQoJCSsraGRyLmxlbjsNCgkJZmNsb3NlKGluX2ZpbGUp Ow0KCQl9DQoNCgkvKiBGaWxsIGluIGhlYWRlciBzdHViIGluIGZpbGUgd2l0aCB2YWxpZCBpbmZv cm1hdGlvbi4gKi8NCglpZiAoZnNlZWsob3V0X2ZpbGUsIDBMLCBTRUVLX1NFVCkgIT0gMCkNCgkJ ew0KCQlmcHJpbnRmKHN0ZGVyciwgIkZpbGUgJyVzJyBoYXMgemVybyBsZW5ndGgsIG9yIGVycm9y IGFjY2Vzc2luZyBmaWxlLlxuIiwgb3V0X2ZpbGVuYW1lKTsNCgkJZ290byBlcnJvcl9oYW5kbGVy Ow0KCQl9DQoJaWYgKGZ3cml0ZSgmaGRyLCBzaXplb2YoaGRyKSwgMSwgb3V0X2ZpbGUpICE9IDEp DQoJCXsNCgkJZnByaW50ZihzdGRlcnIsICJFcnJvciB3cml0aW5nIHRvIGZpbGUgJyVzJy5cbiIs IG91dF9maWxlbmFtZSk7DQoJCWdvdG8gZXJyb3JfaGFuZGxlcjsNCgkJfQ0KCWZjbG9zZShvdXRf ZmlsZSk7DQoNCgljYWxjX2Noa3N1bShvdXRfZmlsZW5hbWUpOw0KCXJldHVybiAwOw0KDQplcnJv cl9oYW5kbGVyOg0KCWZjbG9zZShvdXRfZmlsZSk7DQoJcmVtb3ZlKG91dF9maWxlbmFtZSk7DQoJ cmV0dXJuIDE7DQoJfQ0KDQo= ------ =_NextPart_000_01BC67A6.01B89F80-- - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".