ZmEu

eggdrop1.6.19-ascii.patch

Feb 27th, 2011
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.34 KB | None | 0 0
  1. diff -urN eggdrop1.6.19.original/src/chanprog.c eggdrop1.6.19.modified/src/chanprog.c
  2. --- eggdrop1.6.19.original/src/chanprog.c 2008-02-16 22:41:03.000000000 +0100
  3. +++ eggdrop1.6.19.modified/src/chanprog.c 2010-06-21 14:24:27.000000000 +0200
  4. @@ -444,7 +444,7 @@
  5. protect_readonly = 0;
  6.  
  7. /* Now read it */
  8. - if (!readtclprog(configfile))
  9. + if (!readtclprog(configfile, 0))
  10. fatal(MISC_NOCONFIGFILE, 0);
  11.  
  12. for (i = 0; i < max_logs; i++) {
  13. diff -urN eggdrop1.6.19.original/src/mod/channels.mod/channels.c eggdrop1.6.19.modified/src/mod/channels.mod/channels.c
  14. --- eggdrop1.6.19.original/src/mod/channels.mod/channels.c 2008-02-16 22:41:06.000000000 +0100
  15. +++ eggdrop1.6.19.modified/src/mod/channels.mod/channels.c 2010-06-21 14:24:27.000000000 +0200
  16. @@ -498,7 +498,7 @@
  17. if (!channel_static(chan))
  18. chan->status |= CHAN_FLAGGED;
  19. chan_hack = 1;
  20. - if (!readtclprog(chanfile) && create) {
  21. + if (!readtclprog(chanfile, 1) && create) {
  22. FILE *f;
  23.  
  24. /* Assume file isnt there & therfore make it */
  25. diff -urN eggdrop1.6.19.original/src/mod/module.h eggdrop1.6.19.modified/src/mod/module.h
  26. --- eggdrop1.6.19.original/src/mod/module.h 2008-02-16 22:41:06.000000000 +0100
  27. +++ eggdrop1.6.19.modified/src/mod/module.h 2010-06-21 14:29:54.000000000 +0200
  28. @@ -282,7 +282,7 @@
  29. #define copyfile ((int (*) (char *, char *))global[147])
  30. /* 148 - 151 */
  31. #define do_tcl ((void (*)(char *, char *))global[148])
  32. -#define readtclprog ((int (*)(const char *))global[149])
  33. +#define readtclprog ((int (*)(const char *, int))global[149])
  34. #define get_language ((char *(*)(int))global[150])
  35. #define def_get ((void *(*)(struct userrec *, struct user_entry *))global[151])
  36. /* 152 - 155 */
  37. diff -urN eggdrop1.6.19.original/src/proto.h eggdrop1.6.19.modified/src/proto.h
  38. --- eggdrop1.6.19.original/src/proto.h 2008-02-16 22:41:04.000000000 +0100
  39. +++ eggdrop1.6.19.modified/src/proto.h 2010-06-21 14:30:06.000000000 +0200
  40. @@ -270,7 +270,7 @@
  41. void protect_tcl();
  42. void unprotect_tcl();
  43. void do_tcl(char *, char *);
  44. -int readtclprog(char *fname);
  45. +int readtclprog(char *fname, int);
  46.  
  47. /* userent.c */
  48. void list_type_kill(struct list_type *);
  49. diff -urN eggdrop1.6.19.original/src/tcl.c eggdrop1.6.19.modified/src/tcl.c
  50. --- eggdrop1.6.19.original/src/tcl.c 2008-02-16 22:41:04.000000000 +0100
  51. +++ eggdrop1.6.19.modified/src/tcl.c 2010-06-21 14:26:57.000000000 +0200
  52. @@ -725,21 +725,34 @@
  53. *
  54. * returns: 1 - if everything was okay
  55. */
  56. -int readtclprog(char *fname)
  57. +int readtclprog(char *fname, int noencoding)
  58. {
  59. int code;
  60. char *result;
  61. #ifdef USE_TCL_ENCODING
  62. + char *encoding = NULL;
  63. Tcl_DString dstr;
  64. #endif
  65.  
  66. if (!file_readable(fname))
  67. return 0;
  68.  
  69. +#ifdef USE_TCL_ENCODING
  70. + if (noencoding && Tcl_Eval(interp, "encoding system") == TCL_OK) {
  71. + encoding = nmalloc(strlen(interp->result)+1);
  72. + strcpy(encoding, interp->result);
  73. + Tcl_SetSystemEncoding(interp, "identity");
  74. + }
  75. +#endif
  76. +
  77. code = Tcl_EvalFile(interp, fname);
  78. result = Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY);
  79.  
  80. #ifdef USE_TCL_ENCODING
  81. + if (noencoding && encoding) {
  82. + Tcl_SetSystemEncoding(interp, encoding);
  83. + nfree(encoding);
  84. + }
  85. /* properly convert string to system encoding. */
  86. Tcl_DStringInit(&dstr);
  87. Tcl_UtfToExternalDString(NULL, result, -1, &dstr);
Add Comment
Please, Sign In to add comment