Mercurial > pidgin
view src/protocols/icq/socketmanager.h @ 7667:30593bf56e71
[gaim-migrate @ 8311]
(23:56:25) shx: LSchiere: there's something wrong in my patch
(23:56:34) Luke: okay
(23:56:38) Luke: what's that
(23:57:45) shx: I forgot to add a '0' a the end of a string
(23:57:56) shx: in the gaim_mime_decode_field funcition
(23:59:35) Luke: where in that?
(00:00:16) shx: at the end, just before this
(00:00:18) shx: if (*unencoded_start)
(00:00:19) shx: n = strcpy(n, unencoded_start);
(00:00:27) shx: whould be this
(00:00:28) shx: *n = '\0';
(00:01:05) Luke: so you are just setting it to NULL
(00:01:53) Luke: i don't understand why you need that n set at all inside
that if, since you just return new on the next line down
(00:03:35) shx: I doing some test right now, but I remember I added that
because I had of some errors
(00:05:04) Luke: i think what you may be hitting is a functional work
around for not properly initializing variables, something that shouldn't
work but does. because you shouldn't need to set something just before you
return unless you are returning IT (or unless you are using staticly
declared memory, in which case you might concievably be using that variable
again when you next enter the function
(00:05:55) shx: no
(00:06:18) shx: n is a pointer to the end of the string, and changes as the
while goes on
(00:06:37) Luke: ah
(00:06:42) shx: n doesn't matter
(00:07:01) Luke: so should the *n = '\0' be inside the if or outside it?
(00:07:30) shx: before the if
(00:07:44) shx: *n = '\0';
(00:07:45) shx: if (*unencoded_start)
(00:07:45) shx: n = strcpy(n, unencoded_start);
(00:08:07) shx: in the case there is no *unencoded_start
committer: Tailor Script <tailor@pidgin.im>
| author | Luke Schierer <lschiere@pidgin.im> |
|---|---|
| date | Sun, 30 Nov 2003 05:10:24 +0000 |
| parents | 9965c0bbdb7c |
| children | 5e7ffea3f76a |
line wrap: on
line source
/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* * $Id: socketmanager.h 2405 2001-09-29 02:08:00Z warmenhoven $ * * Copyright (C) 1998-2001, Denis V. Dmitrienko <denis@null.net> and * Bill Soudan <soudan@kde.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */ #ifndef _SOCKETMANAGER_H #define _SOCKETMANAGER_H #ifdef HAVE_CONFIG_H #include <config.h> #endif #include <sys/types.h> #ifndef _WIN32 #include <sys/socket.h> #else #include <winsock.h> #endif #include "icq.h" #include "list.h" typedef struct icq_Socket_s icq_Socket; typedef void (*icq_SocketHandler)(void *data); struct icq_Socket_s { int socket; icq_SocketHandler handlers[ICQ_SOCKET_MAX]; void *data[ICQ_SOCKET_MAX]; }; int icq_SocketNew(int domain, int type, int protocol); int icq_SocketAccept(int listens, struct sockaddr *addr, int *addrlen); void icq_SocketAlloc(int socket_fd); int icq_SocketDelete(int socket_fd); void icq_SocketSetHandler(int socket_fd, int type, icq_SocketHandler handler, void *data); void icq_SocketReady(icq_Socket *s, int type); void icq_SocketBuildFdSets(void); void icq_SocketPoll(); icq_Socket *icq_FindSocket(int socket_fd); extern icq_List *icq_SocketList; #endif /* _SOCKETMANAGER_H */
