aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCampus <campus@ntop.org>2015-11-12 12:08:41 +0100
committerCampus <campus@ntop.org>2015-11-12 12:08:41 +0100
commita4f170604ce97b12718181fd43f506edbdb0b0d5 (patch)
treee61b9887adde422ff8b7f5fd37b01eb8993c618a /src
parent349e0b6fd22f50426e37362a92683d0478352882 (diff)
removed kernel support and #if 0s
Diffstat (limited to 'src')
-rw-r--r--src/include/ndpi_define.h6
-rw-r--r--src/lib/ndpi_main.c25
-rw-r--r--src/lib/protocols/bittorrent.c7
-rw-r--r--src/lib/protocols/btlib.c7
-rw-r--r--src/lib/protocols/btlib.h2
-rw-r--r--src/lib/protocols/citrix.c9
-rw-r--r--src/lib/protocols/directdownloadlink.c21
-rw-r--r--src/lib/protocols/gtp.c8
-rw-r--r--src/lib/protocols/http.c8
-rw-r--r--src/lib/protocols/lotus_notes.c14
-rw-r--r--src/lib/protocols/netflow.c2
-rw-r--r--src/lib/protocols/radius.c8
-rw-r--r--src/lib/protocols/tor.c2
-rw-r--r--src/lib/third_party/include/ndpi_patricia.h7
-rw-r--r--src/lib/third_party/src/ahocorasick.c4
-rw-r--r--src/lib/third_party/src/ndpi_patricia.c52
-rw-r--r--src/lib/third_party/src/node.c4
-rw-r--r--src/lib/third_party/src/sort.c38
18 files changed, 20 insertions, 204 deletions
diff --git a/src/include/ndpi_define.h b/src/include/ndpi_define.h
index 8d70bc337..cfae5f305 100644
--- a/src/include/ndpi_define.h
+++ b/src/include/ndpi_define.h
@@ -42,12 +42,6 @@
#endif/* BYTE_ORDER */
#endif/* __OPENBSD__ */
-#if 0
-#ifndef NDPI_ENABLE_DEBUG_MESSAGES
-#define NDPI_ENABLE_DEBUG_MESSAGES
-#endif
-#endif
-
#ifdef WIN32
#define __LITTLE_ENDIAN__ 1
#endif
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
index ef6f96387..23977334e 100644
--- a/src/lib/ndpi_main.c
+++ b/src/lib/ndpi_main.c
@@ -3171,16 +3171,7 @@ ndpi_protocol ndpi_detection_process_packet(struct ndpi_detection_module_struct
goto ret_protocols;
}
}
-
-#if 0
- a = flow->detected_protocol_stack[0];
- if(a != NDPI_PROTOCOL_UNKNOWN) {
- NDPI_LOG(NDPI_PROTOCOL_UNKNOWN, ndpi_struct, NDPI_LOG_TRACE, "PROCESS KNOWN PROTOCOL\n");
- ndpi_struct->proto_defaults[a].func(ndpi_struct, flow);
- return a;
- }
-#endif
-
+
check_ndpi_flow_func(ndpi_struct, flow, &ndpi_selection_packet);
a = flow->packet.detected_protocol_stack[0];
@@ -3216,18 +3207,8 @@ ndpi_protocol ndpi_detection_process_packet(struct ndpi_detection_module_struct
flow->host_already_guessed = 1;
}
-#if 0
- /* Swap protocols in case of success */
- if(ret.master_protocol != NDPI_PROTOCOL_UNKNOWN) {
- u_int16_t t = ret.master_protocol;
-
- ret.master_protocol = ret.protocol;
- ret.protocol = t;
- }
-#endif
-
- if((ret.protocol == NDPI_PROTOCOL_UNKNOWN) && (ret.master_protocol != NDPI_PROTOCOL_UNKNOWN))
- ret.protocol = flow->guessed_host_proto_id;
+ if((ret.protocol == NDPI_PROTOCOL_UNKNOWN) && (ret.master_protocol != NDPI_PROTOCOL_UNKNOWN))
+ ret.protocol = flow->guessed_host_proto_id;
return(ret);
}
diff --git a/src/lib/protocols/bittorrent.c b/src/lib/protocols/bittorrent.c
index e7f55a78d..99420b85e 100644
--- a/src/lib/protocols/bittorrent.c
+++ b/src/lib/protocols/bittorrent.c
@@ -432,14 +432,7 @@ void ndpi_search_bittorrent(struct ndpi_detection_module_struct *ndpi_struct, st
u_int32_t ts = ntohl(*((u_int32_t*)&(packet->payload[4])));
u_int32_t now;
-#ifndef __KERNEL__
now = (u_int32_t)time(NULL);
-#else
- struct timespec t;
-
- getnstimeofday(&t);
- now = t.tv_sec;
-#endif
if((ts < (now+86400)) && (ts > (now-86400))) {
goto bittorrent_found;
diff --git a/src/lib/protocols/btlib.c b/src/lib/protocols/btlib.c
index 6442c7db7..beea43d0d 100644
--- a/src/lib/protocols/btlib.c
+++ b/src/lib/protocols/btlib.c
@@ -42,8 +42,6 @@ typedef signed long long int i_int64_t;
#include "btlib.h"
-#ifndef __KERNEL__
-
int bt_parse_debug = 0;
static char *printXb(char *s,const u_int8_t *b,int l) {
@@ -183,11 +181,8 @@ static void _print_safe_str(char *msg,char *k,const u_int8_t *s,size_t l) {
static void print_safe_str(char *msg,bt_parse_data_cb_t *cbd) {
_print_safe_str(msg,cbd->buf,cbd->v.s.s,cbd->v.s.l);
}
-#define DEBUG_TRACE(cmd) { if(bt_parse_debug) cmd; }
-#else
-#define DEBUG_TRACE(cmd,args...)
-#endif /* __KERNEL */
+#define DEBUG_TRACE(cmd) { if(bt_parse_debug) cmd; }
#define STREQ(a,b) !strcmp(a,b)
diff --git a/src/lib/protocols/btlib.h b/src/lib/protocols/btlib.h
index cc2928155..db68370c9 100644
--- a/src/lib/protocols/btlib.h
+++ b/src/lib/protocols/btlib.h
@@ -139,9 +139,7 @@ typedef struct bt_parse_data_cb {
} v;
} bt_parse_data_cb_t;
-#ifndef __KERNEL__
extern int bt_parse_debug;
void dump_bt_proto_struct(struct bt_parse_protocol *p);
-#endif
const u_int8_t *bt_decode(const u_int8_t *b, size_t *l, int *ret, bt_parse_data_cb_t *cbd);
diff --git a/src/lib/protocols/citrix.c b/src/lib/protocols/citrix.c
index d03c0cbe6..92607579c 100644
--- a/src/lib/protocols/citrix.c
+++ b/src/lib/protocols/citrix.c
@@ -33,14 +33,6 @@ static void ndpi_check_citrix(struct ndpi_detection_module_struct *ndpi_struct,
struct ndpi_packet_struct *packet = &flow->packet;
u_int32_t payload_len = packet->payload_packet_len;
-#if 0
- printf("[len=%u][%02X %02X %02X %02X]\n", payload_len,
- packet->payload[0] & 0xFF,
- packet->payload[1] & 0xFF,
- packet->payload[2] & 0xFF,
- packet->payload[3] & 0xFF);
-#endif
-
if(packet->tcp != NULL) {
flow->l4.tcp.citrix_packet_id++;
@@ -70,7 +62,6 @@ static void ndpi_check_citrix(struct ndpi_detection_module_struct *ndpi_struct,
return;
}
-
NDPI_ADD_PROTOCOL_TO_BITMASK(flow->excluded_protocol_bitmask, NDPI_PROTOCOL_CITRIX);
} else if(flow->l4.tcp.citrix_packet_id > 3)
NDPI_ADD_PROTOCOL_TO_BITMASK(flow->excluded_protocol_bitmask, NDPI_PROTOCOL_CITRIX);
diff --git a/src/lib/protocols/directdownloadlink.c b/src/lib/protocols/directdownloadlink.c
index 846c60170..24375c90f 100644
--- a/src/lib/protocols/directdownloadlink.c
+++ b/src/lib/protocols/directdownloadlink.c
@@ -709,23 +709,10 @@ void ndpi_search_direct_download_link_tcp(struct ndpi_detection_module_struct *n
{
struct ndpi_packet_struct *packet = &flow->packet;
- // struct ndpi_id_struct *src=ndpi_struct->src;
- // struct ndpi_id_struct *dst=ndpi_struct->dst;
-#if 0
- if (ndpi_struct->direct_download_link_counter_callback != NULL) {
- if (packet->detected_protocol == NDPI_PROTOCOL_DIRECT_DOWNLOAD_LINK) {
- /* skip packets not requests from the client to the server */
- if (packet->packet_direction == flow->l4.tcp.ddlink_server_direction) {
- search_ddl_domains(ndpi_struct, flow); // do the detection again in order to get the URL in keep alive streams
- } else {
- // just count the packet
- ndpi_struct->direct_download_link_counter_callback(flow->hash_id_number, packet->l3_packet_len);
- }
- }
- return;
- }
-#endif
- // do not detect again if it is already ddl
+ /* struct ndpi_id_struct *src=ndpi_struct->src; */
+ /* struct ndpi_id_struct *dst=ndpi_struct->dst; */
+
+ /* do not detect again if it is already ddl */
if (packet->detected_protocol_stack[0] != NDPI_PROTOCOL_DIRECT_DOWNLOAD_LINK) {
if (search_ddl_domains(ndpi_struct, flow) != 0) {
return;
diff --git a/src/lib/protocols/gtp.c b/src/lib/protocols/gtp.c
index ec2c1099e..97044f94e 100644
--- a/src/lib/protocols/gtp.c
+++ b/src/lib/protocols/gtp.c
@@ -35,14 +35,6 @@ static void ndpi_check_gtp(struct ndpi_detection_module_struct *ndpi_struct, str
// const u_int8_t *packet_payload = packet->payload;
u_int32_t payload_len = packet->payload_packet_len;
-#if 0
- printf("[len=%u][%02X %02X %02X %02X]\n", payload_len,
- packet->payload[0] & 0xFF,
- packet->payload[1] & 0xFF,
- packet->payload[2] & 0xFF,
- packet->payload[3] & 0xFF);
-#endif
-
if((packet->udp != NULL) && (payload_len > sizeof(struct gtp_header_generic))) {
u_int32_t gtp_u = ntohs(2152);
u_int32_t gtp_c = ntohs(2123);
diff --git a/src/lib/protocols/http.c b/src/lib/protocols/http.c
index 9314dba65..ced34c099 100644
--- a/src/lib/protocols/http.c
+++ b/src/lib/protocols/http.c
@@ -349,14 +349,6 @@ static void check_content_type_and_change_protocol(struct ndpi_detection_module_
NDPI_LOG(NDPI_PROTOCOL_HTTP, ndpi_struct, NDPI_LOG_DEBUG, "User Agent Type Line found %.*s\n",
packet->user_agent_line.len, packet->user_agent_line.ptr);
-
-#if 0
- if((ndpi_struct->http_dont_dissect_response) || flow->http_detected)
- ndpi_match_content_subprotocol(ndpi_struct, flow,
- (char*)packet->user_agent_line.ptr,
- packet->user_agent_line.len,
- NDPI_PROTOCOL_HTTP);
-#endif
}
/* check for host line */
diff --git a/src/lib/protocols/lotus_notes.c b/src/lib/protocols/lotus_notes.c
index d0b3aa50f..37c4cf896 100644
--- a/src/lib/protocols/lotus_notes.c
+++ b/src/lib/protocols/lotus_notes.c
@@ -35,20 +35,6 @@ static void ndpi_check_lotus_notes(struct ndpi_detection_module_struct *ndpi_str
if(packet->tcp != NULL) {
flow->l4.tcp.lotus_notes_packet_id++;
-#if 0
- printf("[lotus_notes_packet_id: %u][len=%u][%02X %02X %02X %02X %02X %02X %02X %02X]\n",
- flow->l4.tcp.lotus_notes_packet_id, payload_len,
- packet->payload[6] & 0xFF,
- packet->payload[7] & 0xFF,
- packet->payload[8] & 0xFF,
- packet->payload[9] & 0xFF,
- packet->payload[10] & 0xFF,
- packet->payload[11] & 0xFF,
- packet->payload[12] & 0xFF,
- packet->payload[13] & 0xFF
- );
-#endif
-
if((flow->l4.tcp.lotus_notes_packet_id == 1)
/* We have seen the 3-way handshake */
&& flow->l4.tcp.seen_syn
diff --git a/src/lib/protocols/netflow.c b/src/lib/protocols/netflow.c
index 30bb898f2..54c634263 100644
--- a/src/lib/protocols/netflow.c
+++ b/src/lib/protocols/netflow.c
@@ -23,12 +23,10 @@
#ifdef NDPI_PROTOCOL_NETFLOW
-#ifndef __KERNEL__
#ifdef WIN32
extern int gettimeofday(struct timeval * tp, struct timezone * tzp);
#endif
#define do_gettimeofday(a) gettimeofday(a, NULL)
-#endif
struct flow_ver1_rec {
u_int32_t srcaddr; /* Source IP Address */
diff --git a/src/lib/protocols/radius.c b/src/lib/protocols/radius.c
index 09f26793b..625dc4108 100644
--- a/src/lib/protocols/radius.c
+++ b/src/lib/protocols/radius.c
@@ -35,14 +35,6 @@ static void ndpi_check_radius(struct ndpi_detection_module_struct *ndpi_struct,
// const u_int8_t *packet_payload = packet->payload;
u_int32_t payload_len = packet->payload_packet_len;
-#if 0
- printf("[len=%u][%02X %02X %02X %02X]\n", payload_len,
- packet->payload[0] & 0xFF,
- packet->payload[1] & 0xFF,
- packet->payload[2] & 0xFF,
- packet->payload[3] & 0xFF);
-#endif
-
if(packet->udp != NULL) {
struct radius_header *h = (struct radius_header*)packet->payload;
u_int len = ntohs(h->len);
diff --git a/src/lib/protocols/tor.c b/src/lib/protocols/tor.c
index 036162b1f..f2c2eae4c 100644
--- a/src/lib/protocols/tor.c
+++ b/src/lib/protocols/tor.c
@@ -66,14 +66,12 @@ int ndpi_is_ssl_tor(struct ndpi_detection_module_struct *ndpi_struct,
ndpi_int_tor_add_connection(ndpi_struct, flow);
return(1);
} else {
-#ifndef __KERNEL__
#ifdef PENDANTIC_TOR_CHECK
if(gethostbyname(certificate) == NULL) {
ndpi_int_tor_add_connection(ndpi_struct, flow);
return(1);
}
#endif
-#endif
}
return(0);
diff --git a/src/lib/third_party/include/ndpi_patricia.h b/src/lib/third_party/include/ndpi_patricia.h
index 651e52fc9..3053cf9e1 100644
--- a/src/lib/third_party/include/ndpi_patricia.h
+++ b/src/lib/third_party/include/ndpi_patricia.h
@@ -51,18 +51,13 @@
/* { from defs.h */
#define prefix_touchar(prefix) ((u_char *)&(prefix)->add.sin)
-#ifdef __KERNEL__
-#define MAXLINE 512
-#else
#define MAXLINE 1024
-#endif
#define BIT_TEST(f, b) ((f) & (b))
/* } */
#define addroute make_and_lookup
-#ifndef __KERNEL__
#include <sys/types.h> /* for u_* definitions (on FreeBSD 5) */
#include <errno.h> /* for EAFNOSUPPORT */
@@ -81,8 +76,6 @@
#include <ws2tcpip.h> /* IPv6 */
#endif
-#endif /* __KERNEL__ */
-
/* { from mrt.h */
typedef struct the_prefix4_t {
diff --git a/src/lib/third_party/src/ahocorasick.c b/src/lib/third_party/src/ahocorasick.c
index 54a97e776..ce064033f 100644
--- a/src/lib/third_party/src/ahocorasick.c
+++ b/src/lib/third_party/src/ahocorasick.c
@@ -18,12 +18,10 @@
along with multifast. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef __KERNEL__
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
-#endif
#include "ndpi_api.h"
#include "ahocorasick.h"
@@ -245,7 +243,6 @@ void ac_automata_release (AC_AUTOMATA_t * thiz)
ndpi_free(thiz);
}
-#ifndef __KERNEL__
/******************************************************************************
* FUNCTION: ac_automata_display
* Prints the automata to output in human readable form. it is useful for
@@ -299,7 +296,6 @@ void ac_automata_display (AC_AUTOMATA_t * thiz, char repcast)
printf("---------------------------------\n");
}
}
-#endif /* __KERNEL__ */
/******************************************************************************
* FUNCTION: ac_automata_register_nodeptr
diff --git a/src/lib/third_party/src/ndpi_patricia.c b/src/lib/third_party/src/ndpi_patricia.c
index 59d17e556..0a8fa857d 100644
--- a/src/lib/third_party/src/ndpi_patricia.c
+++ b/src/lib/third_party/src/ndpi_patricia.c
@@ -39,7 +39,6 @@
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef __KERNEL__
#include <assert.h> /* assert */
#include <ctype.h> /* isdigit */
#include <errno.h> /* errno */
@@ -54,26 +53,8 @@
#include <netinet/in.h> /* BSD, Linux: for inet_addr */
#include <arpa/inet.h> /* BSD, Linux, Solaris: for inet_addr */
#endif
-#else
-#define assert(a) ;
-#endif /* __KERNEL__ */
-
#include "ndpi_patricia.h"
-
-#ifdef __KERNEL__
-
-long atol(const char *nptr) {
- long l;
- char *endp;
-
- l = simple_strtol(nptr, &endp, 10);
- return(l);
-}
-#endif
-
-// #define PATRICIA_DEBUG
-
void ndpi_DeleteEntry(void *a) {
ndpi_free(a);
}
@@ -126,7 +107,7 @@ inet_pton (int af, const char *src, void *dst)
}
}
#ifdef NT
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
else if(af == AF_INET6) {
struct in6_addr Address;
return (inet6_addr(src, &Address));
@@ -175,15 +156,13 @@ ndpi_my_inet_pton (int af, const char *src, void *dst)
}
memcpy (dst, xp, sizeof(struct in_addr));
return (1);
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
} else if(af == AF_INET6) {
- return (inet_pton (af, src, dst));
+ return (inet_pton (af, src, dst));
#endif /* PATRICIA_IPV6 */
- } else {
+ } else {
#ifndef NT
-#ifndef __KERNEL__
- errno = EAFNOSUPPORT;
-#endif
+ errno = EAFNOSUPPORT;
#endif /* NT */
return -1;
}
@@ -236,7 +215,7 @@ ndpi_prefix_toa2x (prefix_t *prefix, char *buff, int with_len)
}
return (buff);
}
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
else if(prefix->family == AF_INET6) {
char *r;
r = (char *) inet_ntop (AF_INET6, &prefix->add.sin6, buff, 48 /* a guess value */ );
@@ -274,7 +253,7 @@ ndpi_New_Prefix2 (int family, void *dest, int bitlen, prefix_t *prefix)
int dynamic_allocated = 0;
int default_bitlen = sizeof(struct in_addr) * 8;
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
if(family == AF_INET6) {
default_bitlen = sizeof(struct in6_addr) * 8;
if(prefix == NULL) {
@@ -319,8 +298,7 @@ ndpi_New_Prefix (int family, void *dest, int bitlen)
return (ndpi_New_Prefix2 (family, dest, bitlen, NULL));
}
-/* ndpi_ascii2prefix
- */
+/* ndpi_ascii2prefix */
prefix_t *
ndpi_ascii2prefix (int family, char *string)
{
@@ -328,7 +306,7 @@ ndpi_ascii2prefix (int family, char *string)
long maxbitlen = 0;
char *cp;
struct in_addr sin;
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
struct in6_addr sin6;
#endif /* PATRICIA_IPV6 */
char save[MAXLINE];
@@ -339,7 +317,7 @@ ndpi_ascii2prefix (int family, char *string)
/* easy way to handle both families */
if(family == 0) {
family = AF_INET;
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
if(strchr (string, ':')) family = AF_INET6;
#endif /* PATRICIA_IPV6 */
}
@@ -347,7 +325,7 @@ ndpi_ascii2prefix (int family, char *string)
if(family == AF_INET) {
maxbitlen = sizeof(struct in_addr) * 8;
}
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
else if(family == AF_INET6) {
maxbitlen = sizeof(struct in6_addr) * 8;
}
@@ -373,7 +351,7 @@ ndpi_ascii2prefix (int family, char *string)
return (ndpi_New_Prefix (AF_INET, &sin, bitlen));
}
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
else if(family == AF_INET6) {
// Get rid of this with next IPv6 upgrade
#if defined(NT) && !defined(HAVE_INET_NTOP)
@@ -420,8 +398,6 @@ ndpi_Deref_Prefix (prefix_t * prefix)
}
}
-/* } */
-
/* #define PATRICIA_DEBUG 1 */
static int num_active_patricia = 0;
@@ -446,7 +422,6 @@ ndpi_New_Patricia (int maxbits)
* if func is supplied, it will be called as func(node->data)
* before deleting the node
*/
-
void
ndpi_Clear_Patricia (patricia_tree_t *patricia, void_fn_t func)
{
@@ -503,7 +478,6 @@ ndpi_Destroy_Patricia (patricia_tree_t *patricia, void_fn_t func)
/*
* if func is supplied, it will be called as func(node->prefix, node->data)
*/
-
void
ndpi_patricia_process (patricia_tree_t *patricia, void_fn2_t func)
{
@@ -1073,5 +1047,3 @@ ndpi_lookup_then_remove (patricia_tree_t *tree, char *string)
patricia_remove (tree, node);
}
#endif
-
-/* } */
diff --git a/src/lib/third_party/src/node.c b/src/lib/third_party/src/node.c
index 404fb24d4..a43cc59a6 100644
--- a/src/lib/third_party/src/node.c
+++ b/src/lib/third_party/src/node.c
@@ -18,14 +18,10 @@
along with multifast. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef __KERNEL__
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
-#endif
-
#include "ndpi_api.h"
-
#include "../include/node.h"
#include "sort.h"
diff --git a/src/lib/third_party/src/sort.c b/src/lib/third_party/src/sort.c
index d6545e85a..35c8e9fdf 100644
--- a/src/lib/third_party/src/sort.c
+++ b/src/lib/third_party/src/sort.c
@@ -4,9 +4,6 @@
* Jan 23 2005 Matt Mackall <mpm@selenic.com>
*/
-#ifdef __KERNEL__
-#include <linux/types.h>
-#else
#ifdef WIN32
#include <stdint.h>
typedef uint32_t u_int32_t;
@@ -15,7 +12,6 @@ typedef uint32_t u_int32_t;
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
-#endif
/* This is a function ported from the Linux kernel lib/sort.c */
@@ -94,37 +90,3 @@ void sort(void *_base, size_t num, size_t size,
}
}
}
-
-
-#if 0
-/* a simple boot-time regression test */
-
-int cmpint(const void *a, const void *b)
-{
- return *(int *)a - *(int *)b;
-}
-
-int main(int argc, char *argv[]) {
- int *a, i, r = 1;
-
- a = ndpi_malloc(1000 * sizeof(int));
-
- printf("testing sort()\n");
-
- for (i = 0; i < 1000; i++) {
- r = (r * 725861) % 6599;
- a[i] = r;
- }
-
- sort(a, 1000, sizeof(int), cmpint, NULL);
-
- for (i = 0; i < 999; i++)
- if (a[i] > a[i+1]) {
- printf("sort() failed!\n");
- break;
- }
-
- return 0;
-}
-
-#endif