> I'd love to see an example of what you mean, as in all cases > I've seen maintainable means less convoluted. You've never seen code that is full of so much conditional compilation (for portability!) that it's barely readable? I'm currently trying to work on some code whose last edits were in about 19= 89, to add "new style" C function declarations, so each function starts like: int #if HAVE_STDC cmbufs(int *cmdbuf, int cmdlen, char *atombuf, int atomlen, char *workbuf, = int worklen) #else /* K&R style */ cmbufs(cmdbuf,cmdlen,atombuf,atomlen,workbuf,worklen) int *cmdbuf; char *atombuf,*workbuf; int cmdlen,atomlen,worklen; #endif /* HAVE_STDC */ { Then there is all the stuff to make sure that it will compile with both "La= ttice C" on DOS as well as several different unix C compilers (BSD, SYSV, NEXT) This is not "bad" code, but it's not pleasant to deal with either. (I gues= s that writing code to be continuously maintainable is somewhat different than wri= ting code so that it can be dusted off after a 20-year break.) (The most annoying thing is that although it's written with portability in = mind, it has this "everything is LIKE unix mentality. So access to "the OS" is n= ot isolated, and (for example) there's an "#include " in one of the top-leve= l .h files, even though most of the code doesn't touch files or the file system. Since= I'm trying to move this to microcontrollers without a file system, I find myself at cr= oss-purposes to the original authors.) BillW --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .