121 |
|
case '-': |
122 |
|
what = MODE_DEL; |
123 |
|
break; |
124 |
+ |
|
125 |
+ |
case 'd': |
126 |
+ |
if (extarg && IsDigit(*extarg)) |
127 |
+ |
target_p->servicestamp = strtoul(extarg, NULL, 0); |
128 |
+ |
break; |
129 |
+ |
|
130 |
|
case 'o': |
131 |
|
if (what == MODE_DEL && IsOper(target_p)) |
132 |
|
{ |
148 |
|
|
149 |
|
break; |
150 |
|
|
151 |
+ |
case 'i': |
152 |
+ |
if (what == MODE_ADD && !HasUMode(target_p, UMODE_INVISIBLE)) |
153 |
+ |
{ |
154 |
+ |
AddUMode(target_p, UMODE_INVISIBLE); |
155 |
+ |
++Count.invisi; |
156 |
+ |
} |
157 |
+ |
|
158 |
+ |
if (what == MODE_DEL && HasUMode(target_p, UMODE_INVISIBLE)) |
159 |
+ |
{ |
160 |
+ |
DelUMode(target_p, UMODE_INVISIBLE); |
161 |
+ |
--Count.invisi; |
162 |
+ |
} |
163 |
+ |
|
164 |
+ |
break; |
165 |
+ |
|
166 |
|
case ' ': |
167 |
|
case '\n': |
168 |
|
case '\r': |
169 |
|
case '\t': |
170 |
|
break; |
150 |
– |
case 'd': |
151 |
– |
if (extarg && IsDigit(*extarg)) |
152 |
– |
target_p->servicestamp = strtoul(extarg, NULL, 0); |
153 |
– |
break; |
171 |
|
default: |
172 |
|
if ((flag = user_modes[(unsigned char)*m])) |
173 |
|
execute_callback(umode_cb, client_p, target_p, what, flag); |