src/protocols/gg/common.c

changeset 3466
db8d35ad8480
parent 2846
4f0435806f95
child 3630
caa952062dc2
equal deleted inserted replaced
3465:12a1286832c5 3466:db8d35ad8480
1 /* $Id: common.c 2859 2001-12-05 09:48:56Z warmenhoven $ */ 1 /* $Id: common.c 3516 2002-08-29 01:47:15Z seanegan $ */
2 2
3 /* 3 /*
4 * (C) Copyright 2001 Wojtek Kaniewski <wojtekka@irc.pl>, 4 * (C) Copyright 2001 Wojtek Kaniewski <wojtekka@irc.pl>,
5 * Robert J. Woźny <speedy@ziew.org> 5 * Robert J. Woźny <speedy@ziew.org>
6 * 6 *
39 #ifdef sun 39 #ifdef sun
40 #include <sys/filio.h> 40 #include <sys/filio.h>
41 #endif 41 #endif
42 #include "libgg.h" 42 #include "libgg.h"
43 #include "config.h" 43 #include "config.h"
44 #include <glib.h>
44 45
45 /* 46 /*
46 * gg_debug() 47 * gg_debug()
47 * 48 *
48 * wyrzuca komunikat o danym poziomie, o ile użytkownik sobie tego życzy. 49 * wyrzuca komunikat o danym poziomie, o ile użytkownik sobie tego życzy.
253 * - str - ciąg znaków do poprawki. 254 * - str - ciąg znaków do poprawki.
254 * 255 *
255 * zwraca zaalokowany bufor, który wypadałoby kiedyś zwolnić albo NULL 256 * zwraca zaalokowany bufor, który wypadałoby kiedyś zwolnić albo NULL
256 * w przypadku błędu. 257 * w przypadku błędu.
257 */ 258 */
258 char *gg_urlencode(char *str) 259 char *gg_urlencode(const char *str)
259 { 260 {
260 char *p, *q, *buf, hex[] = "0123456789abcdef"; 261 const char *p, hex[] = "0123456789abcdef";
262 char *q, *buf;
263
261 int size = 0; 264 int size = 0;
262 265
263 if (!str) 266 if (!str)
264 str = strdup(""); 267 str = "";
265 268
266 for (p = str; *p; p++, size++) { 269 for (p = str; *p; p++, size++) {
267 if (!((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z') || (*p >= '0' && *p <= '9'))) 270 if (!((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z') || (*p >= '0' && *p <= '9')))
268 size += 2; 271 size += 2;
269 } 272 }
270 273
271 if (!(buf = malloc(size + 1))) 274 buf = g_new(char, size + 1);
272 return NULL;
273 275
274 for (p = str, q = buf; *p; p++, q++) { 276 for (p = str, q = buf; *p; p++, q++) {
275 if ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z') || (*p >= '0' && *p <= '9')) 277 if ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z') || (*p >= '0' && *p <= '9'))
276 *q = *p; 278 *q = *p;
277 else { 279 else {
296 * 298 *
297 * zwraca hash wykorzystywany przy rejestracji i wszelkich 299 * zwraca hash wykorzystywany przy rejestracji i wszelkich
298 * manipulacjach własnego wpisu w katalogu publicznym. 300 * manipulacjach własnego wpisu w katalogu publicznym.
299 */ 301 */
300 302
301 int gg_http_hash(unsigned char *email, unsigned char *password) 303 int gg_http_hash(const unsigned char *email, const unsigned char *password)
302 { 304 {
303 unsigned int a, c; 305 unsigned int a, c;
304 int b, i; 306 int b, i;
305 b = (-1); 307 b = (-1);
306 308

mercurial