Re: checknr WARNS6 cleanup
This is a multi-part message in MIME format.
--Multipart=_Tue__1_Feb_2005_22_08_46_-0800_JsWuP1L+O5HPdnww
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
On Sun, 16 Jan 2005 16:38:50 -0500
Larry Lansing <lansil@fuzzynerd.com> wrote:
> Makes checknr WARNS6-friendly.
>
> - add WARNS6 to Makefile
> - constify several char * function arguments
> - reindent function declarations
> - rename some local variables to avoid name conflicts with globals
> - use a temporary char * for some strncpy() calls for
> const-correctness - eliminate use of the register keyword
Sorry to drop the ball on these cleanups - I've been busy.
Attached is a refined version of this patch. I'm not really happy about
the malloc()s, but the other alternative is to copy all of br[] and
knowncmds[] into writeable buffers, which isn't very appetizing either.
Thoughts, anyone?
-Chris
--Multipart=_Tue__1_Feb_2005_22_08_46_-0800_JsWuP1L+O5HPdnww
Content-Type: text/plain;
name="checknr.diff"
Content-Disposition: attachment;
filename="checknr.diff"
Content-Transfer-Encoding: base64
SW5kZXg6IHVzci5iaW4vY2hlY2tuci9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9o
b21lL2RjdnMvc3JjL3Vzci5iaW4vY2hlY2tuci9NYWtlZmlsZSx2DQpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMQ0KZGlmZiAtdSAtcjEuMSBNYWtlZmlsZQ0KLS0tIHVzci5iaW4vY2hlY2tuci9NYWtl
ZmlsZQkxNyBKdW4gMjAwMyAwMjo1NjowMSAtMDAwMAkxLjENCisrKyB1c3IuYmluL2NoZWNrbnIv
TWFrZWZpbGUJMTkgSmFuIDIwMDUgMjI6NDU6MTcgLTAwMDANCkBAIC0xLDYgKzEsNyBAQA0KICMJ
QCgjKU1ha2VmaWxlCTguMSAoQmVya2VsZXkpIDYvNi85Mw0KIA0KIFBST0c9CWNoZWNrbnINCitX
QVJOUz89CTYNCiBDRkxBR1MrPS1XYWxsDQogDQogLmluY2x1ZGUgPGJzZC5wcm9nLm1rPg0KSW5k
ZXg6IHVzci5iaW4vY2hlY2tuci9jaGVja25yLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9t
ZS9kY3ZzL3NyYy91c3IuYmluL2NoZWNrbnIvY2hlY2tuci5jLHYNCnJldHJpZXZpbmcgcmV2aXNp
b24gMS40DQpkaWZmIC11IC1yMS40IGNoZWNrbnIuYw0KLS0tIHVzci5iaW4vY2hlY2tuci9jaGVj
a25yLmMJMyBOb3YgMjAwMyAxOTozMToyOCAtMDAwMAkxLjQNCisrKyB1c3IuYmluL2NoZWNrbnIv
Y2hlY2tuci5jCTE5IEphbiAyMDA1IDIzOjA5OjUzIC0wMDAwDQpAQCAtNTIsMTggKzUyLDE4IEBA
DQogI2RlZmluZSBNQVhCUgkxMDAJLyogTWF4IG51bWJlciBvZiBicmFja2V0IHBhaXJzIGtub3du
ICovDQogI2RlZmluZSBNQVhDTURTCTUwMAkvKiBNYXggbnVtYmVyIG9mIGNvbW1hbmRzIGtub3du
ICovDQogDQotdm9pZCBhZGRjbWQoY2hhciAqKTsNCi12b2lkIGFkZG1hYyhjaGFyICopOw0KLWlu
dCBiaW5zcmNoKGNoYXIgKik7DQotdm9pZCBjaGVja2tub3duKGNoYXIgKik7DQotdm9pZCBjaGtj
bWQoY2hhciAqLCBjaGFyICopOw0KLXZvaWQgY29tcGxhaW4oaW50KTsNCi1pbnQgZXEoY2hhciAq
LCBjaGFyICopOw0KLXZvaWQgbm9tYXRjaChjaGFyICopOw0KLXZvaWQgcGUoaW50KTsNCi12b2lk
IHByb2Nlc3MoRklMRSAqKTsNCi12b2lkIHByb3AoaW50KTsNCi1zdGF0aWMgdm9pZCB1c2FnZSh2
b2lkKTsNCitzdGF0aWMgdm9pZAlhZGRjbWQoY2hhciAqKTsNCitzdGF0aWMgdm9pZAlhZGRtYWMo
Y29uc3QgY2hhciAqKTsNCitzdGF0aWMgaW50CWJpbnNyY2goY29uc3QgY2hhciAqKTsNCitzdGF0
aWMgdm9pZAljaGVja2tub3duKGNvbnN0IGNoYXIgKik7DQorc3RhdGljIHZvaWQJY2hrY21kKGNv
bnN0IGNoYXIgKik7DQorc3RhdGljIHZvaWQJY29tcGxhaW4oaW50KTsNCitzdGF0aWMgaW50CWVx
KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsNCitzdGF0aWMgdm9pZAlub21hdGNoKGNvbnN0
IGNoYXIgKik7DQorc3RhdGljIHZvaWQJcGUoaW50KTsNCitzdGF0aWMgdm9pZAlwcm9jZXNzKEZJ
TEUgKik7DQorc3RhdGljIHZvaWQJcHJvcChpbnQpOw0KK3N0YXRpYyB2b2lkCXVzYWdlKHZvaWQp
Ow0KIA0KIC8qDQogICogVGhlIHN0YWNrIG9uIHdoaWNoIHdlIHJlbWVtYmVyIHdoYXQgd2UndmUg
c2VlbiBzbyBmYXIuDQpAQCAtODAsOCArODAsOCBAQA0KICAqIFRoZSBraW5kcyBvZiBvcGVuaW5n
IGFuZCBjbG9zaW5nIGJyYWNrZXRzLg0KICAqLw0KIHN0cnVjdCBicnN0ciB7DQotCWNoYXIgKm9w
YnI7DQotCWNoYXIgKmNsYnI7DQorCWNvbnN0IGNoYXIgKm9wYnI7DQorCWNvbnN0IGNoYXIgKmNs
YnI7DQogfSBicltNQVhCUl0gPSB7DQogCS8qIEEgZmV3IGJhcmUgYm9uZXMgdHJvZmYgY29tbWFu
ZHMgKi8NCiAjZGVmaW5lIFNaCTANCkBAIC0xMzgsNyArMTM4LDcgQEANCiAgKiBBbGwgY29tbWFu
ZHMga25vd24gdG8gbnJvZmYsIHBsdXMgbWFjcm8gcGFja2FnZXMuDQogICogVXNlZCBzbyB3ZSBj
YW4gY29tcGxhaW4gYWJvdXQgdW5yZWNvZ25pemVkIGNvbW1hbmRzLg0KICAqLw0KLWNoYXIgKmtu
b3duY21kc1tNQVhDTURTXSA9IHsNCitjb25zdCBjaGFyICprbm93bmNtZHNbTUFYQ01EU10gPSB7
DQogIiRjIiwgIiRmIiwgIiRoIiwgIiRwIiwgIiRzIiwgIihiIiwgIihjIiwgIihkIiwgIihmIiwg
IihsIiwgIihxIiwgIih0IiwNCiAiKHgiLCAiKHoiLCAiKWIiLCAiKWMiLCAiKWQiLCAiKWYiLCAi
KWwiLCAiKXEiLCAiKXQiLCAiKXgiLCAiKXoiLCAiKysiLA0KICIrYyIsICIxQyIsICIxYyIsICIy
QyIsICIyYyIsICJAKCIsICJAKSIsICJAQyIsICJARCIsICJARiIsICJASSIsICJATSIsDQpAQCAt
MTc0LDcgKzE3NCw3IEBADQogDQogaW50CWxpbmVubzsJCS8qIGN1cnJlbnQgbGluZSBudW1iZXIg
aW4gaW5wdXQgZmlsZSAqLw0KIGNoYXIJbGluZVsyNTZdOwkvKiB0aGUgY3VycmVudCBsaW5lICov
DQotY2hhcgkqY2ZpbGVuYW1lOwkvKiBuYW1lIG9mIGN1cnJlbnQgZmlsZSAqLw0KK2NvbnN0IGNo
YXIgKmNmaWxlbmFtZTsJLyogbmFtZSBvZiBjdXJyZW50IGZpbGUgKi8NCiBpbnQJbmZpbGVzOwkJ
LyogbnVtYmVyIG9mIGZpbGVzIHRvIHByb2Nlc3MgKi8NCiBpbnQJZmZsYWc7CQkvKiAtZjogaWdu
b3JlIFxmICovDQogaW50CXNmbGFnOwkJLyogLXM6IGlnbm9yZSBccyAqLw0KQEAgLTE4Niw3ICsx
ODYsNyBAQA0KIHsNCiAJRklMRSAqZjsNCiAJaW50IGk7DQotCWNoYXIgKmNwOw0KKwljaGFyICpj
cCwgKnRtcDsNCiAJY2hhciBiMVs0XTsNCiANCiAJLyogRmlndXJlIG91dCBob3cgbWFueSBrbm93
biBjb21tYW5kcyB0aGVyZSBhcmUgKi8NCkBAIC0yMDQsMTAgKzIwNCwxNCBAQA0KIAkJCWZvciAo
aT0wOyBicltpXS5vcGJyOyBpKyspDQogCQkJCTsNCiAJCQlmb3IgKGNwPWFyZ3ZbMV0rMzsgY3Bb
LTFdOyBjcCArPSA2KSB7DQotCQkJCWJyW2ldLm9wYnIgPSBtYWxsb2MoMyk7DQotCQkJCXN0cm5j
cHkoYnJbaV0ub3BiciwgY3AsIDIpOw0KLQkJCQlicltpXS5jbGJyID0gbWFsbG9jKDMpOw0KLQkJ
CQlzdHJuY3B5KGJyW2ldLmNsYnIsIGNwKzMsIDIpOw0KKwkJCQl0bXAgPSBtYWxsb2MoMyk7DQor
CQkJCXN0cm5jcHkodG1wLCBjcCwgMik7DQorCQkJCWJyW2ldLm9wYnIgPSB0bXA7DQorDQorCQkJ
CXRtcCA9IG1hbGxvYygzKTsNCisJCQkJc3RybmNweSh0bXAsIGNwICsgMywgMik7DQorCQkJCWJy
W2ldLmNsYnIgPSB0bXA7DQorDQogCQkJCWFkZG1hYyhicltpXS5vcGJyKTsJLyoga25vd3MgcGFp
cnMgYXJlIGFsc28ga25vd24gY21kcyAqLw0KIAkJCQlhZGRtYWMoYnJbaV0uY2xicik7DQogCQkJ
CWkrKzsNCkBAIC0yNjksMTAgKzI3MywxMCBAQA0KIAlleGl0KDEpOw0KIH0NCiANCi12b2lkDQor
c3RhdGljIHZvaWQNCiBwcm9jZXNzKEZJTEUgKmYpDQogew0KLQlyZWdpc3RlciBpbnQgaSwgbjsN
CisJaW50IGksIG47DQogCWNoYXIgbWFjWzVdOwkvKiBUaGUgY3VycmVudCBtYWNybyBvciBucm9m
ZiBjb21tYW5kICovDQogCWludCBwbDsNCiANCkBAIC0zMDYsNyArMzEwLDcgQEANCiAJCQlpZiAo
ZXEobWFjLCAiZGUiKSkNCiAJCQkJYWRkY21kKGxpbmUpOw0KIA0KLQkJCWNoa2NtZChsaW5lLCBt
YWMpOw0KKwkJCWNoa2NtZChtYWMpOw0KIAkJfQ0KIA0KIAkJLyoNCkBAIC0zNjUsNyArMzY5LDcg
QEANCiAJfQ0KIH0NCiANCi12b2lkDQorc3RhdGljIHZvaWQNCiBjb21wbGFpbihpbnQgaSkNCiB7
DQogCXBlKHN0a1tpXS5sbm8pOw0KQEAgLTM3NCw3ICszNzgsNyBAQA0KIAlwcmludGYoIlxuIik7
DQogfQ0KIA0KLXZvaWQNCitzdGF0aWMgdm9pZA0KIHByb3AoaW50IGkpDQogew0KIAlpZiAoc3Rr
W2ldLnBsID09IDApDQpAQCAtMzkyLDEwICszOTYsMTAgQEANCiAJfQ0KIH0NCiANCi12b2lkDQot
Y2hrY21kKGNoYXIgKmxpbmUsIGNoYXIgKm1hYykNCitzdGF0aWMgdm9pZA0KK2Noa2NtZChjb25z
dCBjaGFyICptYWMpDQogew0KLQlyZWdpc3RlciBpbnQgaTsNCisJaW50IGk7DQogDQogCS8qDQog
CSAqIENoZWNrIHRvIHNlZSBpZiBpdCBtYXRjaGVzIHRvcCBvZiBzdGFjay4NCkBAIC00MjgsMTAg
KzQzMiwxMCBAQA0KIAl9DQogfQ0KIA0KLXZvaWQNCi1ub21hdGNoKGNoYXIgKm1hYykNCitzdGF0
aWMgdm9pZA0KK25vbWF0Y2goY29uc3QgY2hhciAqbWFjKQ0KIHsNCi0JcmVnaXN0ZXIgaW50IGks
IGo7DQorCWludCBpLCBqOw0KIA0KIAkvKg0KIAkgKiBMb29rIGZvciBhIG1hdGNoIGZ1cnRoZXIg
ZG93biBvbiBzdGFjaw0KQEAgLTQ3MywyMyArNDc3LDIzIEBADQogfQ0KIA0KIC8qIGVxOiBhcmUg
dHdvIHN0cmluZ3MgZXF1YWw/ICovDQotaW50DQotZXEoY2hhciAqczEsIGNoYXIgKnMyKQ0KK3N0
YXRpYyBpbnQNCitlcShjb25zdCBjaGFyICpzMSwgY29uc3QgY2hhciAqczIpDQogew0KIAlyZXR1
cm4gKHN0cmNtcChzMSwgczIpID09IDApOw0KIH0NCiANCiAvKiBwcmludCB0aGUgZmlyc3QgcGFy
dCBvZiBhbiBlcnJvciBtZXNzYWdlLCBnaXZlbiB0aGUgbGluZSBudW1iZXIgKi8NCi12b2lkDQot
cGUoaW50IGxpbmVubykNCitzdGF0aWMgdm9pZA0KK3BlKGludCBteWxpbmVubykNCiB7DQogCWlm
IChuZmlsZXMgPiAxKQ0KIAkJcHJpbnRmKCIlczogIiwgY2ZpbGVuYW1lKTsNCi0JcHJpbnRmKCIl
ZDogIiwgbGluZW5vKTsNCisJcHJpbnRmKCIlZDogIiwgbXlsaW5lbm8pOw0KIH0NCiANCi12b2lk
DQotY2hlY2trbm93bihjaGFyICptYWMpDQorc3RhdGljIHZvaWQNCitjaGVja2tub3duKGNvbnN0
IGNoYXIgKm1hYykNCiB7DQogDQogCWlmIChlcShtYWMsICIuIikpDQpAQCAtNTA2LDE4ICs1MTAs
MTggQEANCiAvKg0KICAqIFdlIGhhdmUgYSAuZGUgeHggbGluZSBpbiAibGluZSIuICBBZGQgeHgg
dG8gdGhlIGxpc3Qgb2Yga25vd24gY29tbWFuZHMuDQogICovDQotdm9pZA0KLWFkZGNtZChjaGFy
ICpsaW5lKQ0KK3N0YXRpYyB2b2lkDQorYWRkY21kKGNoYXIgKm15bGluZSkNCiB7DQogCWNoYXIg
Km1hYzsNCiANCiAJLyogZ3JhYiB0aGUgbWFjcm8gYmVpbmcgZGVmaW5lZCAqLw0KLQltYWMgPSBs
aW5lKzQ7DQorCW1hYyA9IG15bGluZSArIDQ7DQogCXdoaWxlIChpc3NwYWNlKCptYWMpKQ0KIAkJ
bWFjKys7DQogCWlmICgqbWFjID09IDApIHsNCiAJCXBlKGxpbmVubyk7DQotCQlwcmludGYoImls
bGVnYWwgZGVmaW5lOiAlc1xuIiwgbGluZSk7DQorCQlwcmludGYoImlsbGVnYWwgZGVmaW5lOiAl
c1xuIiwgbXlsaW5lKTsNCiAJCXJldHVybjsNCiAJfQ0KIAltYWNbMl0gPSAwOw0KQEAgLTUzNSwx
MiArNTM5LDEzIEBADQogICogc3RydWN0dXJlIGhlcmUgYnV0IHRoaXMgaXMgYSBxdWljay1hbmQt
ZGlydHkgam9iIGFuZCBJIGp1c3QgZG9uJ3QNCiAgKiBoYXZlIHRpbWUgdG8gbWVzcyB3aXRoIGl0
LiAgKEkgd29uZGVyIGlmIHRoaXMgd2lsbCBjb21lIGJhY2sgdG8gaGF1bnQNCiAgKiBtZSBzb21l
ZGF5PykgIEFueXdheSwgSSBjbGFpbSB0aGF0IC5kZSBpcyBmYWlybHkgcmFyZSBpbiB1c2VyDQot
ICogbnJvZmYgcHJvZ3JhbXMsIGFuZCB0aGUgcmVnaXN0ZXIgbG9vcCBiZWxvdyBpcyBwcmV0dHkg
ZmFzdC4NCisgKiBucm9mZiBwcm9ncmFtcywgYW5kIHRoZSBsb29wIGJlbG93IGlzIHByZXR0eSBm
YXN0Lg0KICAqLw0KLXZvaWQNCi1hZGRtYWMoY2hhciAqbWFjKQ0KK3N0YXRpYyB2b2lkDQorYWRk
bWFjKGNvbnN0IGNoYXIgKm1hYykNCiB7DQotCXJlZ2lzdGVyIGNoYXIgKipzcmMsICoqZGVzdCwg
Kipsb2M7DQorCWNvbnN0IGNoYXIgKipzcmMsICoqZGVzdCwgKipsb2M7DQorCWNoYXIgKnRtcDsN
CiANCiAJaWYgKGJpbnNyY2gobWFjKSA+PSAwKXsJLyogaXQncyBPSyB0byByZWRlZmluZSBzb21l
dGhpbmcgKi8NCiAjaWZkZWYgREVCVUcNCkBAIC01NTcsOCArNTYyLDExIEBADQogCWRlc3QgPSBz
cmMrMTsNCiAJd2hpbGUgKGRlc3QgPiBsb2MpDQogCQkqZGVzdC0tID0gKnNyYy0tOw0KLQkqbG9j
ID0gbWFsbG9jKDMpOw0KLQlzdHJjcHkoKmxvYywgbWFjKTsNCisNCisJdG1wID0gbWFsbG9jKDMp
Ow0KKwlzdHJuY3B5KHRtcCwgbWFjLCAyKTsNCisJKmxvYyA9IHRtcDsNCisNCiAJbmNtZHMrKzsN
CiAjaWZkZWYgREVCVUcNCiBwcmludGYoImFmdGVyOiAlcyAlcyAlcyAlcyAlcywgJWQgY21kc1xu
Iiwga25vd25jbWRzW3Nsb3QtMl0sIGtub3duY21kc1tzbG90LTFdLCBrbm93bmNtZHNbc2xvdF0s
IGtub3duY21kc1tzbG90KzFdLCBrbm93bmNtZHNbc2xvdCsyXSwgbmNtZHMpOw0KQEAgLTU2OSwx
MyArNTc3LDEzIEBADQogICogRG8gYSBiaW5hcnkgc2VhcmNoIGluIGtub3duY21kcyBmb3IgbWFj
Lg0KICAqIElmIGZvdW5kLCByZXR1cm4gdGhlIGluZGV4LiAgSWYgbm90LCByZXR1cm4gLTEuDQog
ICovDQotaW50DQotYmluc3JjaChjaGFyICptYWMpDQorc3RhdGljIGludA0KK2JpbnNyY2goY29u
c3QgY2hhciAqbWFjKQ0KIHsNCi0JcmVnaXN0ZXIgY2hhciAqcDsJLyogcG9pbnRlciB0byBjdXJy
ZW50IGNtZCBpbiBsaXN0ICovDQotCXJlZ2lzdGVyIGludCBkOwkJLyogZGlmZmVyZW5jZSBpZiBh
bnkgKi8NCi0JcmVnaXN0ZXIgaW50IG1pZDsJLyogbWlkIHBvaW50IGluIGJpbmFyeSBzZWFyY2gg
Ki8NCi0JcmVnaXN0ZXIgaW50IHRvcCwgYm90OwkvKiBib3VuZGFyaWVzIG9mIGJpbiBzZWFyY2gs
IGluY2x1c2l2ZSAqLw0KKwljb25zdCBjaGFyICpwOwkvKiBwb2ludGVyIHRvIGN1cnJlbnQgY21k
IGluIGxpc3QgKi8NCisJaW50IGQ7CQkvKiBkaWZmZXJlbmNlIGlmIGFueSAqLw0KKwlpbnQgbWlk
OwkvKiBtaWQgcG9pbnQgaW4gYmluYXJ5IHNlYXJjaCAqLw0KKwlpbnQgdG9wLCBib3Q7CS8qIGJv
dW5kYXJpZXMgb2YgYmluIHNlYXJjaCwgaW5jbHVzaXZlICovDQogDQogCXRvcCA9IG5jbWRzLTE7
DQogCWJvdCA9IDA7DQo=
--Multipart=_Tue__1_Feb_2005_22_08_46_-0800_JsWuP1L+O5HPdnww--
討論串 (同標題文章)