Mercurial > pidgin.yaz
comparison src/protocols/jabber/jid.c @ 3127:4e7cefc55971
[gaim-migrate @ 3142]
Upgraded jabber to most recent stable version
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Thu, 04 Apr 2002 03:04:57 +0000 |
parents | 424a40f12a6c |
children |
comparison
equal
deleted
inserted
replaced
3126:e883f604174e | 3127:4e7cefc55971 |
---|---|
1 /* | 1 /* -------------------------------------------------------------------------- |
2 * This program is free software; you can redistribute it and/or modify | 2 * |
3 * it under the terms of the GNU General Public License as published by | 3 * License |
4 * the Free Software Foundation; either version 2 of the License, or | 4 * |
5 * (at your option) any later version. | 5 * The contents of this file are subject to the Jabber Open Source License |
6 * | 6 * Version 1.0 (the "JOSL"). You may not copy or use this file, in either |
7 * This program is distributed in the hope that it will be useful, | 7 * source code or executable form, except in compliance with the JOSL. You |
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 8 * may obtain a copy of the JOSL at http://www.jabber.org/ or at |
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 9 * http://www.opensource.org/. |
10 * GNU General Public License for more details. | 10 * |
11 * | 11 * Software distributed under the JOSL is distributed on an "AS IS" basis, |
12 * You should have received a copy of the GNU General Public License | 12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the JOSL |
13 * along with this program; if not, write to the Free Software | 13 * for the specific language governing rights and limitations under the |
14 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 14 * JOSL. |
15 * | 15 * |
16 * Jabber | 16 * Copyrights |
17 * Copyright (C) 1998-1999 The Jabber Team http://jabber.org/ | 17 * |
18 */ | 18 * Portions created by or assigned to Jabber.com, Inc. are |
19 | 19 * Copyright (c) 1999-2002 Jabber.com, Inc. All Rights Reserved. Contact |
20 #include "jabber.h" | 20 * information for Jabber.com, Inc. is available at http://www.jabber.com/. |
21 * | |
22 * Portions Copyright (c) 1998-1999 Jeremie Miller. | |
23 * | |
24 * Acknowledgements | |
25 * | |
26 * Special thanks to the Jabber Open Source Contributors for their | |
27 * suggestions and support of Jabber. | |
28 * | |
29 * Alternatively, the contents of this file may be used under the terms of the | |
30 * GNU General Public License Version 2 or later (the "GPL"), in which case | |
31 * the provisions of the GPL are applicable instead of those above. If you | |
32 * wish to allow use of your version of this file only under the terms of the | |
33 * GPL and not to allow others to use your version of this file under the JOSL, | |
34 * indicate your decision by deleting the provisions above and replace them | |
35 * with the notice and other provisions required by the GPL. If you do not | |
36 * delete the provisions above, a recipient may use your version of this file | |
37 * under either the JOSL or the GPL. | |
38 * | |
39 * | |
40 * --------------------------------------------------------------------------*/ | |
41 | |
42 #include "lib.h" | |
21 | 43 |
22 jid jid_safe(jid id) | 44 jid jid_safe(jid id) |
23 { | 45 { |
24 char *str; | 46 unsigned char *str; |
25 | 47 |
26 if(strlen(id->server) == 0 || strlen(id->server) > 255) | 48 if(strlen(id->server) == 0 || strlen(id->server) > 255) |
27 return NULL; | 49 return NULL; |
28 | 50 |
29 /* lowercase the hostname, make sure it's valid characters */ | 51 /* lowercase the hostname, make sure it's valid characters */ |
55 | 77 |
56 /* user@server/resource */ | 78 /* user@server/resource */ |
57 | 79 |
58 str = pstrdup(p, idstr); | 80 str = pstrdup(p, idstr); |
59 | 81 |
60 id = pmalloc(p,sizeof(struct jid_struct)); | 82 id = pmalloco(p,sizeof(struct jid_struct)); |
61 id->full = id->server = id->user = id->resource = NULL; | |
62 id->p = p; | 83 id->p = p; |
63 id->next = NULL; | |
64 | 84 |
65 resource = strstr(str,"/"); | 85 resource = strstr(str,"/"); |
66 if(resource != NULL) | 86 if(resource != NULL) |
67 { | 87 { |
68 *resource = '\0'; | 88 *resource = '\0'; |
283 } | 303 } |
284 pool_free(p); | 304 pool_free(p); |
285 | 305 |
286 return cur; | 306 return cur; |
287 } | 307 } |
308 | |
309 jid jid_user(jid a) | |
310 { | |
311 jid ret; | |
312 | |
313 if(a == NULL || a->resource == NULL) return a; | |
314 | |
315 ret = pmalloco(a->p,sizeof(struct jid_struct)); | |
316 ret->p = a->p; | |
317 ret->user = a->user; | |
318 ret->server = a->server; | |
319 | |
320 return ret; | |
321 } |