je_clenem()?

David Zabensky zabensky na ica.cz
Pátek Únor 25 11:45:31 CET 2000


Tak tohle prelozim pod CC, ale uz ne pod GCC (krici, ze to neni dle ANSI C).
Mozna by to spravil nejaky parametr pro prekladac. Spise ale #ifdef
_linux_....
D.

--
const int je_clenem(va_alist) va_dcl
{
  int found = 0;
  int iVal, iArg;
  char cVal, cArg;
  char *sVal, *sArg;
  va_list arg;
  VARARGS typ;

  va_start(arg);
  typ = va_arg(arg, VARARGS);

  switch(typ) {
    /* zpracovavam argumenty typu int */
    case vaINT: {
      /* nactu hledanou hodnotu */
      iVal = va_arg(arg, int);
      /* porovnavam dalsi hodnoty */
      while(iVal && found == 0 && (iArg = va_arg(arg, int)) != (int) NULL)
        if(iArg == iVal) found = 1;
      break;
    }
    /* zpracovavam argumenty typu char * */
    case vaSTRING: {
      sVal = (char *) va_arg(arg, char *);
      while(sVal && found == 0 && (sArg = (char *) va_arg(arg, char *)) !=
(char *) NULL)
        if(strcmp(sVal, sArg) == 0) found = 1;
      break;
    }
  }

  va_end(arg);
  return found;
}

:Poslete kod funkce je_clenem. Tohle by melo fungovat i kdyz s problemy
nebot
:va_xxx marka mohou byt na kazde platforme definovana ruzne (a s ruznym
:poctem parametru).
:
:--
:
:Jan Bares
:(remove no.spam from my email address)
:JPCAD Graphics Engine developer, surf to http://www.antek.cz
:
:
:
:---------------------------------------------------------------------------
:Meta-FAQ (odhlá±ení, archív, FAQ a dal±í): http://www.linux.cz/mailing-list



Daląí informace o konferenci Linux