[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lost] [Patch] Ein paar neue Libc-Funktionen



Antoine Kaufmann schrieb:
+double atof(const char* str)
+{
+    // TODO
+    return 0;
+}

Das macht mir wie gesagt noch Bauchschmerzen, weil das schwer zu findende Bugs verursachen könnte.

=> #define LIBC_STUBS in config.h und standardmäßig deaktiviert.

Index: src/include/ctype.h
===================================================================
--- src/include/ctype.h	(Revision 688)
+++ src/include/ctype.h	(Arbeitskopie)
@@ -43,6 +43,7 @@
 #define isxdigit(c) (isdigit(c) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
 #define isupper(c) ((c) >= 'A' && (c) <= 'Z')
 #define islower(c) ((c) >= 'a' && (c) <= 'z')
+#define ispunct(c) ((!isspace(c)) && (!isalpha(c)))

#define ispunct(c) (isprint(c) && (!isspace(c)) && (!isalpha(c)))

+double fabs(double x)
+{
+    return ((x < 0) ? -x : x);
+}

Auch wieder in #ifdef

+// Kuenstliche Begrenzung fuer Programme die sie benutzen wollen
+#define MAXPATHLEN 4096
+
+#endif //ifndef _SYS_PARA;_H_

Tippfehler im Kommentar. ;-)

+/**
+ * Prueft ob die Annahme stimmt. Falls sie das nicht tut, wird mit einer
+ * Fehlermeldung abgebrochen.
+ */
+void _assert(const char* assertation, int expression)
+{
+    if (!expression) {
+        fprintf(stderr, "Annahme fehlgeschlagen: %s\n", assertation);
+    }
+}
+

Das Wort heißt assertion und auf Deutsch Zusicherung. Außerdem muß das Programm nach Ausgabe der Fehlermeldung durch den Aufruf von abort() abgebrochen werden.