home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / dd2.zip / DDT.C < prev    next >
C/C++ Source or Header  |  1995-02-03  |  2KB  |  103 lines

  1. typedef int ddTest (PSZ);
  2. typedef ddTest *pddTest;
  3.  
  4. #define DDTEntry CHAR sz[80]; \
  5.                  sprintf(sz, "%s %i <- %s", \
  6.                     __FILE__, __LINE__, psz); \
  7.                  {
  8.  
  9. #define DDTExit  } return 0;
  10.  
  11. #include "ddT1.c"
  12.  
  13. int ddT9(PSZ psz)
  14. {
  15.    PCHAR * ppch;
  16.    PCHAR pch;
  17.  
  18.    pch  = psz;
  19.    ppch = &pch;
  20.    pch  = "*ppch /T9 strcat (*ppch, NULL);";
  21.    strcat(*ppch, NULL);
  22.    return 0;
  23. }
  24.  
  25. int ddT8(PSZ psz)
  26. {
  27.    DDTEntry
  28.  
  29.    strcpy(sz, "DosExit(1, -1)");
  30.  
  31.    DosExit(1, -1);
  32.  
  33.    DDTExit
  34.  
  35. }
  36.  
  37. int ddT7(PSZ psz)
  38. {
  39.    DDTEntry
  40.  
  41.    HMODULE hmod;
  42.    PSZ  pszI = NULL;
  43.  
  44.    DosLoadModule(sz, 80, "PMWIN", &hmod);
  45.    DosLoadModule(sz, 80, "PMWIN", &hmod);
  46.    DosLoadModule(sz, 80, "PMWIN", &hmod);
  47.  
  48.    strcpy(pszI, "strcpy(NULL, strcpy(NULL, strcpy(NULL,...");
  49.  
  50.    DDTExit
  51. }
  52.  
  53. int ddT16(PSZ psz)
  54. {
  55.    DDTEntry
  56.  
  57.    HMODULE hmod;
  58.    PSZ    pszI = NULL;
  59.    APIRET rc;
  60.    PFN    pfn;
  61.  
  62.    rc = DosLoadModule(sz, 80, "DDM16", &hmod);
  63.    rc = DosQueryProcAddr(hmod, 0, "DDT16", &pfn);
  64.  
  65.    rc = pfn();
  66.  
  67.    strcpy(pszI, "strcpy(NULL, strcpy(NULL, strcpy(NULL,...");
  68.  
  69.    DDTExit
  70. }
  71.  
  72.  
  73. int ddT(PSZ psz)
  74. {
  75.    CHAR sz[80];
  76.    pddTest addT[] = {
  77.       NULL,
  78.       ddT1,
  79.       ddT2,
  80.       ddT3,
  81.       ddT4,
  82.       ddT5,
  83.       ddT6,
  84.       ddT7,
  85.       ddT8,
  86.       ddT9,
  87.       NULL, NULL, NULL, NULL, NULL, NULL,
  88.       ddT16
  89.    };
  90.    int i;
  91.  
  92.  
  93.    sprintf(sz, "%s %i <- %s", __FILE__, __LINE__, psz);
  94.  
  95.    sscanf(&psz[2], "%i", &i);
  96.    addT[i](psz);
  97.  
  98.    return 0;
  99. }
  100.  
  101.  
  102.  
  103.