#include <stdio.h>
#include <string.h>
#include <stdarg.h>
#include "str.h"

extern void alert(const char *form,...);

void Str::rword(const char *form,...) {
  do {
    ch=getc(in);
    if (ch==EOF) return;
    if (ch==cmt_ch) for(;ch=getc(in),ch!='\n';) if (ch==EOF) return;
  } while (ch==' ' || ch=='\n');
  ungetc(ch,in);
  va_list ap;
  va_start(ap,form);
  int res=vfscanf(in,form,ap);
  va_end(ap);
  if (res==EOF) return; 
  do ch=getc(in); while (ch==' ');
  ungetc(ch,in);
}

Str::Str(FILE *_in,char *_s):
    in(_in),
    ch(0),
    cmt_ch('#'),
    s(_s) {
}

bool Str::operator==(const char* s2) { return !strcmp(s,s2); }
bool Str::operator!=(const char* s2) { return strcmp(s,s2); }
