cvstrac.patch 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. Index: format.c
  2. --- format.c.orig 2007-01-28 23:50:24 +0100
  3. +++ format.c 2007-01-29 14:20:44 +0100
  4. @@ -778,7 +778,7 @@
  5. if( az && az[0] && az[1] ){
  6. cgi_printf("<a href=\"%z\" title=\"%h\">",zLink,az[0]);
  7. /* FIXME: should use a <span> with the ticket status as a class */
  8. - if( az[1][0] == 'n' || az[1][0] == 'a' ){
  9. + if( az[1][0] != 'c' ){
  10. cgi_printf("#%d",tn);
  11. }else{
  12. cgi_printf("<strike>#%d</strike>",tn);
  13. Index: makeheaders.c
  14. --- makeheaders.c.orig 2006-12-14 01:35:46 +0100
  15. +++ makeheaders.c 2007-01-29 14:20:44 +0100
  16. @@ -2136,7 +2136,7 @@
  17. zArg++;
  18. }
  19. if( *zArg==0 || *zArg=='\n' ){ return 0; }
  20. - nArg = pToken->nText + (int)pToken->zText - (int)zArg;
  21. + nArg = pToken->nText + pToken->zText - zArg;
  22. if( nArg==9 && strncmp(zArg,"INTERFACE",9)==0 ){
  23. PushIfMacro(0,0,0,pToken->nLine,PS_Interface);
  24. }else if( nArg==16 && strncmp(zArg,"EXPORT_INTERFACE",16)==0 ){
  25. @@ -2155,7 +2155,7 @@
  26. zArg++;
  27. }
  28. if( *zArg==0 || *zArg=='\n' ){ return 0; }
  29. - nArg = pToken->nText + (int)pToken->zText - (int)zArg;
  30. + nArg = pToken->nText + pToken->zText - zArg;
  31. PushIfMacro("defined",zArg,nArg,pToken->nLine,0);
  32. }else if( nCmd==6 && strncmp(zCmd,"ifndef",6)==0 ){
  33. /*
  34. @@ -2166,7 +2166,7 @@
  35. zArg++;
  36. }
  37. if( *zArg==0 || *zArg=='\n' ){ return 0; }
  38. - nArg = pToken->nText + (int)pToken->zText - (int)zArg;
  39. + nArg = pToken->nText + pToken->zText - zArg;
  40. PushIfMacro("!defined",zArg,nArg,pToken->nLine,0);
  41. }else if( nCmd==4 && strncmp(zCmd,"else",4)==0 ){
  42. /*
  43. @@ -2792,7 +2792,7 @@
  44. fprintf(stderr,
  45. "%s: Can't overwrite this file because it wasn't previously\n"
  46. "%*s generated by 'makeheaders'.\n",
  47. - pFile->zHdr, strlen(pFile->zHdr), "");
  48. + pFile->zHdr, (int)strlen(pFile->zHdr), "");
  49. nErr++;
  50. }else if( strcmp(zOldVersion,zNewVersion)!=0 ){
  51. if( report ) fprintf(report,"updated\n");
  52. @@ -2951,10 +2951,10 @@
  53. pDecl->zName,
  54. zLabel,
  55. pDecl->zFile,
  56. - pDecl->pComment ? (int)pDecl->pComment/sizeof(Token) : 0,
  57. + pDecl->pComment ? /* TOTALLY BOGUS: (int)pDecl->pComment/sizeof(Token) */ 0 : 0,
  58. pDecl->pComment ? pDecl->pComment->nText+1 : 0,
  59. - pDecl->zIf ? strlen(pDecl->zIf)+1 : 0,
  60. - zDecl ? strlen(zDecl) : 0,
  61. + pDecl->zIf ? (int)strlen(pDecl->zIf)+1 : 0,
  62. + zDecl ? (int)strlen(zDecl) : 0,
  63. pDecl->pComment ? pDecl->pComment->nLine : 0,
  64. pDecl->tokenCode.nText ? pDecl->tokenCode.nText+1 : 0
  65. );
  66. Index: ticket.c
  67. --- ticket.c.orig 2006-12-14 01:33:31 +0100
  68. +++ ticket.c 2007-01-29 14:47:31 +0100
  69. @@ -392,7 +392,7 @@
  70. @ <tr>
  71. @ <td align="right"><nobr>
  72. @ Assigned To:
  73. - az = db_query("SELECT id FROM user UNION SELECT '' ORDER BY id");
  74. + az = db_query("SELECT id FROM user WHERE capabilities LIKE '%%w%%' UNION SELECT '' ORDER BY id");
  75. cgi_v_optionmenu(0, "w", zWho, (const char **)az);
  76. db_query_free(az);
  77. @ </nobr></td>
  78. @@ -1335,7 +1335,7 @@
  79. @ <nobr>
  80. @ Assigned To:
  81. azUsers = (const char**)db_query(
  82. - "SELECT id FROM user UNION SELECT '' ORDER BY id");
  83. + "SELECT id FROM user WHERE capabilities LIKE '%%w%%' UNION SELECT '' ORDER BY id");
  84. cgi_v_optionmenu(0, "a", aParm[4].zNew, azUsers);
  85. @ </nobr>
  86. @ &nbsp;&nbsp;&nbsp;
  87. @@ -1463,14 +1463,16 @@
  88. const char *zTn;
  89. char *zErrMsg = 0;
  90. char *zTktTitle;
  91. + const char *zOwner;
  92. login_check_credentials();
  93. - if( !g.okWrite ){ login_needed(); return; }
  94. throttle(1,1);
  95. tn = rn = 0;
  96. zTn = PD("tn","");
  97. sscanf(zTn, "%d,%d", &tn, &rn);
  98. if( tn<=0 ){ cgi_redirect("index"); return; }
  99. + zOwner = db_short_query("SELECT owner FROM ticket WHERE tn=%d", tn);
  100. + if( !g.okWrite && !(zOwner != NULL && strcmp(zOwner, g.zUser) == 0) ){ login_needed(); return; }
  101. bprintf(zPage,sizeof(zPage),"%d",tn);
  102. doPreview = P("pre")!=0;
  103. doSubmit = P("submit")!=0;