home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 3 / 3010 < prev    next >
Encoding:
Internet Message Format  |  1991-03-07  |  4.9 KB

  1. From: ag@amix.commodore.com (Keith "Cheese Whiz" Gabryelski)
  2. Newsgroups: alt.sources
  3. Subject: Re: oneko dumps core!  BUG FIX + System V port
  4. Message-ID: <1256@amix.commodore.com>
  5. Date: 6 Mar 91 22:39:11 GMT
  6.  
  7. In article <MICHEL.91Mar5164822@eutes3.es.ele.tue.nl> michel@es.ele.tue.nl
  8. (Michel Berkelaar) writes:
  9. >The oneko version I took from alt.sources dumps core on Apollo workstations
  10. >and an Alliant FX/8 computer in our group, whether compiled with cc or gcc.
  11. >It looks as if it can only work with compilers which allow NULL pointer
  12. >dereferencing ... Or else something is going wrong completely.
  13.  
  14. Not a NULL pointer bug per se'.  It was due to a questionable
  15. structure array definition.  The diffs:
  16.  
  17. *** oneko.c-    Wed Mar  6 12:09:37 1991
  18. --- oneko.c    Wed Mar  6 17:26:33 1991
  19. ***************
  20. *** 187,228 ****
  21.   
  22.   Animation    AnimationPattern[][2] =
  23.   {
  24. !     { &Mati2GC, &Mati2Msk },
  25. !     { &Mati2GC, &Mati2Msk },        /* NekoState == NEKO_STOP */
  26. !     { &Jare2GC, &Jare2Msk },
  27. !     { &Mati2GC, &Mati2Msk },        /* NekoState == NEKO_JARE */
  28. !     { &Kaki1GC, &Kaki1Msk },
  29. !     { &Kaki2GC, &Kaki2Msk },        /* NekoState == NEKO_KAKI */
  30. !     { &Mati3GC, &Mati3Msk },
  31. !     { &Mati3GC, &Mati3Msk },        /* NekoState == NEKO_AKUBI */
  32. !     { &Sleep1GC, &Sleep1Msk },
  33. !     { &Sleep2GC, &Sleep2Msk },        /* NekoState == NEKO_SLEEP */
  34. !     { &AwakeGC, &AwakeMsk },
  35. !     { &AwakeGC, &AwakeMsk },        /* NekoState == NEKO_AWAKE */
  36. !     { &Up1GC, &Up1Msk },
  37. !     { &Up2GC, &Up2Msk },        /* NekoState == NEKO_U_MOVE */
  38. !     { &Down1GC, &Down1Msk },
  39. !     { &Down2GC, &Down2Msk },        /* NekoState == NEKO_D_MOVE */
  40. !     { &Left1GC, &Left1Msk },
  41. !     { &Left2GC, &Left2Msk },        /* NekoState == NEKO_L_MOVE */
  42. !     { &Right1GC, &Right1Msk },
  43. !     { &Right2GC, &Right2Msk },        /* NekoState == NEKO_R_MOVE */
  44. !     { &UpLeft1GC, &UpLeft1Msk },
  45. !     { &UpLeft2GC, &UpLeft2Msk },    /* NekoState == NEKO_UL_MOVE */
  46. !     { &UpRight1GC, &UpRight1Msk },
  47. !     { &UpRight2GC, &UpRight2Msk },    /* NekoState == NEKO_UR_MOVE */
  48. !     { &DownLeft1GC, &DownLeft1Msk },
  49. !     { &DownLeft2GC, &DownLeft2Msk },    /* NekoState == NEKO_DL_MOVE */
  50. !     { &DownRight1GC, &DownRight1Msk },
  51. !     { &DownRight2GC, &DownRight2Msk },    /* NekoState == NEKO_DR_MOVE */
  52. !     { &UpTogi1GC, &UpTogi1Msk },
  53. !     { &UpTogi2GC, &UpTogi2Msk },    /* NekoState == NEKO_U_TOGI */
  54. !     { &DownTogi1GC, &DownTogi1Msk },
  55. !     { &DownTogi2GC, &DownTogi2Msk },    /* NekoState == NEKO_D_TOGI */
  56. !     { &LeftTogi1GC, &LeftTogi1Msk },
  57. !     { &LeftTogi2GC, &LeftTogi2Msk },    /* NekoState == NEKO_L_TOGI */
  58. !     { &RightTogi1GC, &RightTogi1Msk },
  59. !     { &RightTogi2GC, &RightTogi2Msk },    /* NekoState == NEKO_R_TOGI */
  60.   };
  61.   
  62.   
  63. --- 187,228 ----
  64.   
  65.   Animation    AnimationPattern[][2] =
  66.   {
  67. !     { { &Mati2GC, &Mati2Msk },
  68. !       { &Mati2GC, &Mati2Msk }, },    /* NekoState == NEKO_STOP */
  69. !     { { &Jare2GC, &Jare2Msk },
  70. !       { &Mati2GC, &Mati2Msk }, },    /* NekoState == NEKO_JARE */
  71. !     { { &Kaki1GC, &Kaki1Msk },
  72. !       { &Kaki2GC, &Kaki2Msk }, },    /* NekoState == NEKO_KAKI */
  73. !     { { &Mati3GC, &Mati3Msk },
  74. !       { &Mati3GC, &Mati3Msk }, },    /* NekoState == NEKO_AKUBI */
  75. !     { { &Sleep1GC, &Sleep1Msk },
  76. !       { &Sleep2GC, &Sleep2Msk }, },    /* NekoState == NEKO_SLEEP */
  77. !     { { &AwakeGC, &AwakeMsk },
  78. !       { &AwakeGC, &AwakeMsk }, },    /* NekoState == NEKO_AWAKE */
  79. !     { { &Up1GC, &Up1Msk },
  80. !       { &Up2GC, &Up2Msk }, },        /* NekoState == NEKO_U_MOVE */
  81. !     { { &Down1GC, &Down1Msk },
  82. !       { &Down2GC, &Down2Msk }, },    /* NekoState == NEKO_D_MOVE */
  83. !     { { &Left1GC, &Left1Msk },
  84. !       { &Left2GC, &Left2Msk }, },    /* NekoState == NEKO_L_MOVE */
  85. !     { { &Right1GC, &Right1Msk },
  86. !       { &Right2GC, &Right2Msk }, },    /* NekoState == NEKO_R_MOVE */
  87. !     { { &UpLeft1GC, &UpLeft1Msk },
  88. !       { &UpLeft2GC, &UpLeft2Msk }, },    /* NekoState == NEKO_UL_MOVE */
  89. !     { { &UpRight1GC, &UpRight1Msk },
  90. !       { &UpRight2GC, &UpRight2Msk }, },    /* NekoState == NEKO_UR_MOVE */
  91. !     { { &DownLeft1GC, &DownLeft1Msk },
  92. !       { &DownLeft2GC, &DownLeft2Msk }, }, /* NekoState == NEKO_DL_MOVE */
  93. !     { { &DownRight1GC, &DownRight1Msk },
  94. !       { &DownRight2GC, &DownRight2Msk }, }, /* NekoState == NEKO_DR_MOVE */
  95. !     { { &UpTogi1GC, &UpTogi1Msk },
  96. !       { &UpTogi2GC, &UpTogi2Msk }, },    /* NekoState == NEKO_U_TOGI */
  97. !     { { &DownTogi1GC, &DownTogi1Msk },
  98. !       { &DownTogi2GC, &DownTogi2Msk }, }, /* NekoState == NEKO_D_TOGI */
  99. !     { { &LeftTogi1GC, &LeftTogi1Msk },
  100. !       { &LeftTogi2GC, &LeftTogi2Msk }, }, /* NekoState == NEKO_L_TOGI */
  101. !     { { &RightTogi1GC, &RightTogi1Msk },
  102. !       { &RightTogi2GC, &RightTogi2Msk }, }, /* NekoState == NEKO_R_TOGI */
  103.   };
  104.   
  105.   
  106. ***************
  107. *** 1056,1061 ****
  108. --- 1056,1064 ----
  109.   NullFunction()
  110.   {
  111.       /* No Operation */
  112. + #ifdef SYSV
  113. +     signal(SIGALRM, NullFunction);
  114. + #endif /* !SYSV */
  115.   }
  116.   
  117.   /*
  118.  
  119. -- 
  120. Would you like some Bill Sperm with that?
  121. Keith Gabryelski                                 Advanced Products Group
  122. ag@amix.commodore.com                                 ...!cbmvax!amix!ag
  123.