>> I'm not familiar enough in C to remember how variable number of arguments >> are handled in the language, but wouldn't that need to be described >> somehow >> in the routine declaration? > NO! you don't have to specify anything about a routines parameter list > in the declaration. In fact you don't actually have to > declare them at all! (doing so is a bad idea because the behaviour when > a parameter list is not given can be somewhat counterintuitive) > > It does of course have to be specified in the routines definition but > that may be in a different "compilation unit" and therefore not > availible to the compiler. The good news: Most modern "C" compilers can generate a warning if you attempt to call a function without having a prototype in scope. The bad news: you have to be sure that the prototype in scope matches the one actually used when defining the function. The good news: the compiler will complain if you define a function differently than an in-scope prototype. So, IMNSHO.... Always prototype all your functions in appropriate header files. Include the header file in every module that defines or uses any of the functions defined therein. Enable whatever 'missing prototype' warning might be available in your compiler. DON'T USE VARIABLE ARGUMENT LISTS! If you do this, then "C" will be almost as smart as Pascal in making sure you don't screw yourself :-) ---Bob Ammerman RAm Systems -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist