#include "lex.h"

/* This routine removes comments (overwrites them with white space)
 * and trailing white space.
 */

int removecomment(char *p, int inside)
{
  char *lastnonblank;
  int single=0;

  lastnonblank=p;
  while(p[0]) {
    if(inside) {
      if(p[0]=='*' && p[1]=='/' && single==0) {
        p[0]=p[1]=' ';
        p+=2;
        inside=0;
      }
      else 
      if ((p[0]=='\n' || p[0]=='\0') && single==1) {
        p[0]='\n';
        single=inside=0;        
       } 
      else p[0]=' ';
    }
    else if(p[0]=='/' && p[1]=='*') {
      p[0]=' ';
      inside=1;
    }
    else if (p[0]=='/' && p[1]=='/') {
      p[0]=' ';
      single=inside=1;
    }
    else if(p[0]=='"') {
      p=skipstring(p);
      lastnonblank=p-1;
    }
    else if(p[0]!=' ' && p[0]!='\t' && p[0]!='\n') lastnonblank=p;
    if(p[0]) p++;
  }
  /*
  if(p[-1]=='\n') *++lastnonblank='\n';
  lastnonblank[1]='\0';
  */
  return inside;
}
