/*
   <p>Expand a tab stop by sending spaces to a file.</p>

   <kbd>
   <b>environ - C programming support functions</b><br>
   Copyright (C) 2005  Martin C Gregorie
   
   This program is free software; you can redistribute it and/or
   modify it under the terms of the Lesser GNU General Public License.
   
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
  
   You should have received a copy of the Lesser GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
   </kbd>
  
   <p>Contact Martin Gregorie at <i>martin@gregorie.org</i></p>
*/

#include <stdio.h>
#include "environ.h"

/*
   Expand a tab stop by sending spaces to the output <i>FILE*</i> <u>fn</u>
   until the next tab stop in <u>tabstops</u> is reached.
   <u>i</u> is the current position on the line.
   Returns the new end position.

   <b>See also:</b> <i>tabclear(), tabexpand(), tabset(),
      tabdefault(), tabnormal(), tabpos(), tabspread()</i>
*/
int tabout(FILE *fn, int i, char *tabstops)
{
    do 
    {
        putc(BLANK,fn);
        i++;
    }
    while (tabpos(i,tabstops) == FALSE);

    return(i);
}

        
