summaryrefslogtreecommitdiff
path: root/dbug/my_main.c
blob: 48d092ca10a85b0a2a60dcb03702016e30d13ce5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
  this is modified version of the original example main.c
  fixed so that it could compile and run in MySQL source tree
*/

#ifdef DBUG_OFF				/* We are testing dbug */
#undef DBUG_OFF
#endif

#include <my_global.h>	/* This includes dbug.h */
#include <my_pthread.h>

int main (argc, argv)
int argc;
char *argv[];
{
  register int result, ix;
  extern int factorial(int);
#if defined(HAVE_PTHREAD_INIT)
  pthread_init();			/* Must be called before DBUG_ENTER */
#endif
  my_thread_global_init();

  {
    DBUG_ENTER ("main");
    DBUG_PROCESS (argv[0]);
    for (ix = 1; ix < argc && argv[ix][0] == '-'; ix++) {
      switch (argv[ix][1]) {
      case '#':
	DBUG_PUSH (&(argv[ix][2]));
	break;
      }
    }
    for (; ix < argc; ix++) {
      DBUG_PRINT ("args", ("argv[%d] = %s", ix, argv[ix]));
      result = factorial (atoi(argv[ix]));
      printf ("%d\n", result);
    }
    DBUG_RETURN (0);
  }
}