-/* common.c - Common functions */\r
-\r
-/* Written 1993 by Werner Almesberger */\r
-\r
-/* FAT32, VFAT, Atari format support, and various fixes additions May 1998\r
- * by Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de> */\r
-\r
-\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <string.h>\r
-#include <stdarg.h>\r
-#include <errno.h>\r
-\r
-#include "common.h"\r
-\r
-\r
-typedef struct _link {\r
- void *data;\r
- struct _link *next;\r
-} LINK;\r
-\r
-\r
-void die(char *msg,...)\r
-{\r
- va_list args;\r
-\r
- va_start(args,msg);\r
- vfprintf(stderr,msg,args);\r
- va_end(args);\r
- fprintf(stderr,"\n");\r
- exit(1);\r
-}\r
-\r
-\r
-void pdie(char *msg,...)\r
-{\r
- va_list args;\r
-\r
- va_start(args,msg);\r
- vfprintf(stderr,msg,args);\r
- va_end(args);\r
- fprintf(stderr,":%s\n",strerror(errno));\r
- exit(1);\r
-}\r
-\r
-\r
-void *alloc(int size)\r
-{\r
- void *this;\r
-\r
- if ((this = malloc(size))) return this;\r
- pdie("malloc");\r
- return NULL; /* for GCC */\r
-}\r
-\r
-\r
-void *qalloc(void **root,int size)\r
-{\r
- LINK *link;\r
-\r
- link = alloc(sizeof(LINK));\r
- link->next = *root;\r
- *root = link;\r
- return link->data = alloc(size);\r
-}\r
-\r
-\r
-void qfree(void **root)\r
-{\r
- LINK *this;\r
-\r
- while (*root) {\r
- this = (LINK *) *root;\r
- *root = this->next;\r
- free(this->data);\r
- free(this);\r
- }\r
-}\r
-\r
-\r
-#ifdef min\r
-#undef min\r
-#endif\r
-int min(int a,int b)\r
-{\r
- return a < b ? a : b;\r
-}\r
-\r
-\r
-char get_key(char *valid,char *prompt)\r
-{\r
- int ch,okay;\r
-\r
- while (1) {\r
- if (prompt) printf("%s ",prompt);\r
- fflush(stdout);\r
- while (ch = getchar(), ch == ' ' || ch == '\t');\r
- if (ch == EOF) exit(1);\r
- if (!strchr(valid,okay = ch)) okay = 0;\r
- while (ch = getchar(), ch != '\n' && ch != EOF);\r
- if (ch == EOF) exit(1);\r
- if (okay) return okay;\r
- printf("Invalid input.\n");\r
- }\r
-}\r
-\r
-/* Local Variables: */\r
-/* tab-width: 8 */\r
-/* End: */\r
+/* common.c - Common functions */
+
+/* Written 1993 by Werner Almesberger */
+
+/* FAT32, VFAT, Atari format support, and various fixes additions May 1998
+ * by Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de> */
+
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdarg.h>
+#include <errno.h>
+
+#include "common.h"
+
+
+typedef struct _link {
+ void *data;
+ struct _link *next;
+} LINK;
+
+
+void die(char *msg,...)
+{
+ va_list args;
+
+ va_start(args,msg);
+ vfprintf(stderr,msg,args);
+ va_end(args);
+ fprintf(stderr,"\n");
+ exit(1);
+}
+
+
+void pdie(char *msg,...)
+{
+ va_list args;
+
+ va_start(args,msg);
+ vfprintf(stderr,msg,args);
+ va_end(args);
+ fprintf(stderr,":%s\n",strerror(errno));
+ exit(1);
+}
+
+
+void *alloc(int size)
+{
+ void *this;
+
+ if ((this = malloc(size))) return this;
+ pdie("malloc");
+ return NULL; /* for GCC */
+}
+
+
+void *qalloc(void **root,int size)
+{
+ LINK *link;
+
+ link = alloc(sizeof(LINK));
+ link->next = *root;
+ *root = link;
+ return link->data = alloc(size);
+}
+
+
+void qfree(void **root)
+{
+ LINK *this;
+
+ while (*root) {
+ this = (LINK *) *root;
+ *root = this->next;
+ free(this->data);
+ free(this);
+ }
+}
+
+
+#ifdef min
+#undef min
+#endif
+int min(int a,int b)
+{
+ return a < b ? a : b;
+}
+
+
+char get_key(char *valid,char *prompt)
+{
+ int ch,okay;
+
+ while (1) {
+ if (prompt) printf("%s ",prompt);
+ fflush(stdout);
+ while (ch = getchar(), ch == ' ' || ch == '\t');
+ if (ch == EOF) exit(1);
+ if (!strchr(valid,okay = ch)) okay = 0;
+ while (ch = getchar(), ch != '\n' && ch != EOF);
+ if (ch == EOF) exit(1);
+ if (okay) return okay;
+ printf("Invalid input.\n");
+ }
+}
+
+/* Local Variables: */
+/* tab-width: 8 */
+/* End: */