#define GENERAL_H_
typedef unsigned char BYTE;
char *get_input();
-char * format_euro(char * s, int maxlen, int cent);
+char retry_or_quit();
+char *format_euro(char * s, int maxlen, int cent);
void c128_perror(BYTE, char*);
extern BYTE _oserror;
#define POKE(addr,val) (*(unsigned char*) (addr) = (val))
#define PEEKW(addr) (*(unsigned*) (addr))
#define VIDEOMODE (((* (BYTE *)0xD7) == 0x80) ? 80 : 40)
+
+/* because there is no macro expansion when stringifying, we need to use two
+ * levels of macros to stringify the value of a macro (for example
+ * MAX_ITEM_NAME_LENGTH) */
+#define xstr(s) str(s)
+#define str(s) #s
+
+#define max(a, b) ((a) > (b) ? (a) : (b))
+#define min(a, b) ((a) > (b) ? (b) : (a))
+
#endif /*GENERAL_H_*/