]> git.pld-linux.org Git - packages/LANChat.git/blob - LANChat-wincrash.patch
e9fffaed96de7ad345e1ef52447e896b600e333f
[packages/LANChat.git] / LANChat-wincrash.patch
1 Binary files LANChat-1.0.2.old/LANChat and LANChat-1.0.2/LANChat differ
2 diff -uNr LANChat-1.0.2.old/lc_main.c LANChat-1.0.2/lc_main.c
3 --- LANChat-1.0.2.old/lc_main.c Thu Mar 16 00:31:55 2000
4 +++ LANChat-1.0.2/lc_main.c     Tue Dec  4 04:48:01 2001
5 @@ -40,6 +40,19 @@
6  
7  FILE* f;
8  
9 +// added by emvi
10 +// add 'LC40' at the end of data
11 +// LANChat for ms windows will crush if there isnt here
12 +void presnd()
13 +{
14 +    int pos = strlen(hsnd.data);
15 +    hsnd.data[pos+1] = 'L';
16 +    hsnd.data[pos+2] = 'C';
17 +    hsnd.data[pos+3] = '4';
18 +    hsnd.data[pos+4] = '0';
19 +}
20 +// emvi
21 +
22  /********************************* main *****************************************/
23  
24  int main( int argc, char **argv )
25 @@ -159,6 +172,7 @@
26      }
27  
28      if ( cp2 == 0 ) { /* we are in cild process */
29 +       presnd();
30          while ( 1 ) {
31              hsnd.dest = hsnd.sender;
32              hsnd.type = LC_LINUX_REQUEST;
33 @@ -230,7 +244,7 @@
34      strcpy( topic, "<>" );
35  
36      strcpy( hsnd.nick, logname ); /* logname is safe */
37 -    pop_mode = 0; /* allow popup msgs */
38 +    pop_mode = 1; /* dont allow popup msgs */
39  
40      wattrset( defwin, COLOR_PAIR( 4 ) );
41      wprintw( defwin, "Welcome to " );
42 @@ -304,6 +318,7 @@
43                          hsnd.type = LC_NORMAL;
44                          strcat( hsnd.data, "\x0d\x0a\0" );
45                          crypt( hsnd.data, hsnd.sender, hsnd.dest );
46 +                       presnd();
47                          snd();
48                      }
49                      break;
50 @@ -314,6 +329,7 @@
51                      if ( !prepare_message() ) {
52                          hsnd.type = LC_POPUP;
53                          crypt( hsnd.data, hsnd.sender, hsnd.dest );
54 +                       presnd();
55                          snd();
56                      }
57                      break;
58 @@ -331,6 +347,7 @@
59                      if ( auser( hrcv.data ) != -1 ) {
60                          hsnd.type = LC_REQ_STATUS_EX;
61                          hsnd.dest = auser( hrcv.data );
62 +                       presnd();
63                          snd();
64                      }
65                      else {
66 @@ -358,6 +375,7 @@
67                      hsnd.dest = LC_BROADCAST;
68                      if ( users[ hsnd.sender ].away == 0 ) hsnd.type = LC_ALIVE;
69                      else hsnd.type = LC_AWAY_ALIVE;
70 +                   presnd();
71                      snd();
72                      for ( i = 0; i < 255; i++ ) 
73                          if ( strlen( users[ i ].nick ) > 0 && i != hsnd.sender ) {
74 @@ -413,6 +431,7 @@
75                          }else
76                             hsnd.type = LC_CANTPOP;
77                         hsnd.dest = hrcv.sender;
78 +                       presnd();
79                         snd();
80  //                    }
81                      break;
82 @@ -436,6 +455,7 @@
83                     hsnd.data[4092]='\0';
84                      strcat( hsnd.data, "\x0d\x0a\0" );
85                      crypt( hsnd.data, hsnd.sender, hsnd.dest );
86 +                   presnd();
87                      snd();
88                      break;
89                  case LC_STATUS_EX:
90 @@ -462,16 +482,19 @@
91                         hsnd.type = LC_ALIVE;
92                      else
93                         hsnd.type = LC_AWAY_ALIVE;
94 +                   presnd();
95                      snd();
96                      hsnd.type = LC_TOPIC;
97                      strncpy( hsnd.data, topic, 4092 ); hsnd.data[4092]='\0';
98                      strcat( hsnd.data, "\x0d\x0a\0" );
99                      crypt( hsnd.data, hsnd.sender, hsnd.dest );
100 +                   presnd();
101                      snd();
102                      hsnd.type = LC_TOPIC_TIME;
103                      strncpy( hsnd.data, topictime, 4092 ); hsnd.data[4092]='\0';
104                      strcat( hsnd.data, "\x0d\x0a\0" );
105                      crypt( hsnd.data, hsnd.sender, hsnd.dest );
106 +                   presnd();
107                      snd();
108                      break;
109                  case LC_LEAVE:
110 @@ -497,6 +520,7 @@
111                          strncpy( hsnd.data, away, 4092 ); hsnd.data[4092]='\0';
112                          strcat( hsnd.data, "\x0d\x0a\0" );
113                          crypt( hsnd.data, hsnd.sender, hsnd.dest );
114 +                       presnd();
115                          snd();
116                      }
117                      break;
118 @@ -506,6 +530,7 @@
119                         hsnd.type = LC_ALIVE;
120                      else
121                         hsnd.type = LC_AWAY_ALIVE;
122 +                   presnd();
123                      snd();
124                      break;
125                  case LC_START_AWAY:
126 @@ -559,6 +584,7 @@
127         hsnd.data[4092]='\0';
128          strcat( hsnd.data, "\x0d\x0a\0" );
129          crypt( hsnd.data, hsnd.sender, hsnd.dest );
130 +       presnd();
131          snd();
132  
133          while ( !finish ) {
134 @@ -613,6 +639,7 @@
135                  hsnd.data[ strlen( hsnd.data ) - 7 ] = '\0';
136                  strcat( hsnd.data, "\x0d\x0a\0" );
137                  crypt( hsnd.data, hsnd.sender, hsnd.dest );
138 +               presnd();
139                  snd();
140                  hsnd.type = LC_TOPIC_TIME;
141                  strcpy( hsnd.data, atime( 0 ) );
142 @@ -698,6 +725,7 @@
143                 if(away_mode==1){ /* termination of away mode */
144                      hsnd.type = LC_END_AWAY;
145                     hsnd.dest = LC_BROADCAST;
146 +                   presnd();
147                     snd();
148                     away_mode = 0;
149                 }                                                               
150 @@ -713,6 +741,7 @@
151                  hsnd.dest = hsnd.sender;
152              }
153              crypt( hsnd.data, hsnd.sender, hsnd.dest );
154 +           presnd();
155              snd();
156              wdeleteln( inputwin );
157              wrefresh( inputwin );
This page took 0.086225 seconds and 2 git commands to generate.