]> pd.if.org Git - pdclib/blobdiff - platform/example/functions/signal/signal.c
System includes -> local includes.
[pdclib] / platform / example / functions / signal / signal.c
index 33722aceb65e5d14d38fd411af9f2b5c80a01d7f..f8fce3c624d052ae8707d26fe096415da0deb7bb 100644 (file)
@@ -1,6 +1,4 @@
-/* $Id$ */
-
-/* signal( int sig, void (*func)( int ) )
+/* signal( int, void (*)( int ) )
 
    This file is part of the Public Domain C Library (PDCLib).
    Permission is granted to use, modify, and / or redistribute at will.
@@ -22,6 +20,10 @@ void (*_PDCLIB_sigterm)( int ) = SIG_DFL;
 void (*signal( int sig, void (*func)( int ) ) )( int )
 {
     void (*oldhandler)( int );
+    if ( sig <= 0 || func == SIG_ERR )
+    {
+        return SIG_ERR;
+    }
     switch ( sig )
     {
         case SIGABRT:
@@ -61,11 +63,11 @@ void (*signal( int sig, void (*func)( int ) ) )( int )
 #endif
 
 #ifdef TEST
-#include <_PDCLIB_test.h>
+#include "_PDCLIB_test.h"
 
 int main( void )
 {
-    TESTCASE( NO_TESTDRIVER );
+    /* Testing covered by raise.c */
     return TEST_RESULTS;
 }
 #endif