[libnice] multithread g_main_loop_quit ad remove agent

Emanuele Bizzarri emabiz76 at gmail.com
Mon Jul 14 06:25:40 PDT 2014


Hi Philip,
We are using 0.1.7 zip.

Il 14/07/2014 14:27, Philip Withnall ha scritto:
> Where *exactly* in the code is this? Looking at my copy of 
> stun/stunmessage.c, the logs show that fast_retval has always had type 
> ssize_t (which is signed).


This is the code inside stunmessage.c:

int stun_message_validate_buffer_length (const uint8_t *msg, size_t length,
     bool has_padding)
{
   ssize_t fast_retval;
   size_t mlen;
   size_t len;
   StunInputVector input_buffer = { msg, length };

   /* Fast pre-check first. */
   fast_retval = stun_message_validate_buffer_length_fast (&input_buffer, 1,
       length, has_padding);
   if (fast_retval <= 0)
     return fast_retval;


and this is the content of win32_common.h (ssize_t  is unsigned):

/*
  * This file is part of the Nice GLib ICE library.
  *
  * (C) 2008-2009 Collabora Ltd.
  *  Contact: Youness Alaoui
  * (C) 2008-2009 Nokia Corporation. All rights reserved.
  *
  * The contents of this file are subject to the Mozilla Public License 
Version
  * 1.1 (the "License"); you may not use this file except in compliance with
  * the License. You may obtain a copy of the License at
  * http://www.mozilla.org/MPL/
  *
  * Software distributed under the License is distributed on an "AS IS" 
basis,
  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  * for the specific language governing rights and limitations under the
  * License.
  *
  * The Original Code is the Nice GLib ICE library.
  *
  * The Initial Developers of the Original Code are Collabora Ltd and Nokia
  * Corporation. All Rights Reserved.
  *
  * Contributors:
  *   Youness Alaoui, Collabora Ltd.
  *   Danny Smith
  *
  * Alternatively, the contents of this file may be used under the terms 
of the
  * the GNU Lesser General Public License Version 2.1 (the "LGPL"), in which
  * case the provisions of LGPL are applicable instead of those above. 
If you
  * wish to allow use of your version of this file only under the terms 
of the
  * LGPL and not to allow others to use your version of this file under the
  * MPL, indicate your decision by deleting the provisions above and replace
  * them with the notice and other provisions required by the LGPL. If 
you do
  * not delete the provisions above, a recipient may use your version of 
this
  * file under either the MPL or the LGPL.
  */

/* ISO C9x  7.18  Integer types <stdint.h>
  * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794)
  *
  *  THIS SOFTWARE IS NOT COPYRIGHTED
  *
  *  Contributor: Danny Smith <danny_r_smith_2001 at yahoo.co.nz>
  *
  *  This source code is offered for use in the public domain. You may
  *  use, modify or distribute it freely.
  *
  *  This code is distributed in the hope that it will be useful but
  *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
  *  DISCLAIMED. This includes but is not limited to warranties of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  *
  *  Date: 2000-12-02
  */


#ifndef _WIN32_COMMON_H
#define _WIN32_COMMON_H

#include "config.h"
#include <sys/types.h>

/* 7.18.1.1  Exact-width integer types */
typedef signed char int8_t;
typedef unsigned char   uint8_t;
typedef short  int16_t;
typedef unsigned short  uint16_t;
typedef int  int32_t;
typedef unsigned   uint32_t;
typedef long long  int64_t;
typedef unsigned long long   uint64_t;

#ifndef HAVE_SIZE_T
typedef unsigned int size_t;
#endif
#ifndef HAVE_SSIZE_T
typedef unsigned long ssize_t;
#endif

typedef uint8_t bool;
#define true 1
#define false 0


#endif /* _WIN32_COMMON_H */






More information about the nice mailing list