#ifndef __UTILITY_H
#define __UTILITY_H

#ifndef __STRINGS_H
#include <strings.h>
#endif

// @doc EXTERNAL

char* format (const char* fmt, ...);
const char* cmd2name(const char* argv0, const char* argv1 = "");
int rtoi(const char * roman);
const char* itor(int i);
bool fcopy(const char* orig, const char* dest, bool append=FALSE);
bool fexist(const char* file);

bool make_dir(const char* file);
int list_files(TToken_string& names);
const char * encode(const char* data);
const char * decode(const char* data);
// @func Controlla se il carattere passato e' il simbolo di slash ('\\' oppure '/')
//
// @rdesc Ritorna i seguneti valori:
//
// @flag TRUE | Se il carattere <p s> e' uno slash
// @flag FALSE | Se il carattere <p s> non e' uno slash
inline bool is_not_slash(
  char s)  // @parm Carattere da confrontare
{  return s != '\\' && s != '/'; }

#if XVT_OS == XVT_OS_SCOUNIX
int  stricmp(const char*, const char*);
#endif
#ifdef __WATCOMC__
char * tempnam(const char * dir, const char * prefix);
#endif

const char* esc(const char*);

#define ODD(x)   (x & 1)
#define EVEN(x) !(x & 1) 

#ifdef __UTILITY_CPP
char __tmp_string[1024];
#else
extern char __tmp_string[1024];
#endif


#endif /* __UTILITY_H */
