diff options
Diffstat (limited to 'protocols/jabber/str.c')
| -rw-r--r-- | protocols/jabber/str.c | 215 | 
1 files changed, 0 insertions, 215 deletions
| diff --git a/protocols/jabber/str.c b/protocols/jabber/str.c deleted file mode 100644 index a8454b44..00000000 --- a/protocols/jabber/str.c +++ /dev/null @@ -1,215 +0,0 @@ -/* -------------------------------------------------------------------------- - * - * License - * - * The contents of this file are subject to the Jabber Open Source License - * Version 1.0 (the "JOSL").  You may not copy or use this file, in either - * source code or executable form, except in compliance with the JOSL. You - * may obtain a copy of the JOSL at http://www.jabber.org/ or at - * http://www.opensource.org/.   - * - * Software distributed under the JOSL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the JOSL - * for the specific language governing rights and limitations under the - * JOSL. - * - * Copyrights - *  - * Portions created by or assigned to Jabber.com, Inc. are  - * Copyright (c) 1999-2002 Jabber.com, Inc.  All Rights Reserved.  Contact - * information for Jabber.com, Inc. is available at http://www.jabber.com/. - * - * Portions Copyright (c) 1998-1999 Jeremie Miller. - *  - * Acknowledgements - *  - * Special thanks to the Jabber Open Source Contributors for their - * suggestions and support of Jabber. - *  - * Alternatively, the contents of this file may be used under the terms of the - * GNU General Public License Version 2 or later (the "GPL"), in which case - * the provisions of the GPL are applicable instead of those above.  If you - * wish to allow use of your version of this file only under the terms of the - * GPL and not to allow others to use your version of this file under the JOSL, - * indicate your decision by deleting the provisions above and replace them - * with the notice and other provisions required by the GPL.  If you do not - * delete the provisions above, a recipient may use your version of this file - * under either the JOSL or the GPL.  - *  - *  - * --------------------------------------------------------------------------*/ - -#include "jabber.h" -#include <glib.h> - -static char *j_strcat(char *dest, char *txt) -{ -    if(!txt) return(dest); - -    while(*txt) -        *dest++ = *txt++; -    *dest = '\0'; - -    return(dest); -} - -int j_strcmp(const char *a, const char *b) -{ -    if(a == NULL || b == NULL) -        return -1; - -    while(*a == *b && *a != '\0' && *b != '\0'){ a++; b++; } - -    if(*a == *b) return 0; - -    return -1; -} - -spool spool_new(pool p) -{ -    spool s; - -    s = pmalloc(p, sizeof(struct spool_struct)); -    s->p = p; -    s->len = 0; -    s->last = NULL; -    s->first = NULL; -    return s; -} - -void spool_add(spool s, char *str) -{ -    struct spool_node *sn; -    int len; - -    if(str == NULL) -        return; - -    len = strlen(str); -    if(len == 0) -        return; - -    sn = pmalloc(s->p, sizeof(struct spool_node)); -    sn->c = pstrdup(s->p, str); -    sn->next = NULL; - -    s->len += len; -    if(s->last != NULL) -        s->last->next = sn; -    s->last = sn; -    if(s->first == NULL) -        s->first = sn; -} - -void spooler(spool s, ...) -{ -    va_list ap; -    char *arg = NULL; - -    if(s == NULL) -        return; - -    VA_START(s); - -    /* loop till we hfit our end flag, the first arg */ -    while(1) -    { -        arg = va_arg(ap,char *); -        if((spool)arg == s) -            break; -        else -            spool_add(s, arg); -    } - -    va_end(ap); -} - -char *spool_print(spool s) -{ -    char *ret,*tmp; -    struct spool_node *next; - -    if(s == NULL || s->len == 0 || s->first == NULL) -        return NULL; - -    ret = pmalloc(s->p, s->len + 1); -    *ret = '\0'; - -    next = s->first; -    tmp = ret; -    while(next != NULL) -    { -        tmp = j_strcat(tmp,next->c); -        next = next->next; -    } - -    return ret; -} - -char *strescape(pool p, char *buf) -{ -    int i,j,oldlen,newlen; -    char *temp; - -    if (p == NULL || buf == NULL) return(NULL); - -    oldlen = newlen = strlen(buf); -    for(i=0;i<oldlen;i++) -    { -        switch(buf[i]) -        { -        case '&': -            newlen+=5; -            break; -        case '\'': -            newlen+=6; -            break; -        case '\"': -            newlen+=6; -            break; -        case '<': -            newlen+=4; -            break; -        case '>': -            newlen+=4; -            break; -        } -    } - -    if(oldlen == newlen) return buf; - -    temp = pmalloc(p,newlen+1); - -    if (temp==NULL) return(NULL); - -    for(i=j=0;i<oldlen;i++) -    { -        switch(buf[i]) -        { -        case '&': -            memcpy(&temp[j],"&",5); -            j += 5; -            break; -        case '\'': -            memcpy(&temp[j],"'",6); -            j += 6; -            break; -        case '\"': -            memcpy(&temp[j],""",6); -            j += 6; -            break; -        case '<': -            memcpy(&temp[j],"<",4); -            j += 4; -            break; -        case '>': -            memcpy(&temp[j],">",4); -            j += 4; -            break; -        default: -            temp[j++] = buf[i]; -        } -    } -    temp[j] = '\0'; -    return temp; -} | 
