Stack.c
上传用户:liugui
上传日期:2007-01-04
资源大小:822k
文件大小:2k
源码类别:

代理服务器

开发平台:

Unix_Linux

  1. /*
  2.  * $Id: Stack.c,v 1.8 1998/07/22 20:36:34 wessels Exp $
  3.  *
  4.  * AUTHOR: Alex Rousskov
  5.  *
  6.  * SQUID Internet Object Cache  http://squid.nlanr.net/Squid/
  7.  * ----------------------------------------------------------
  8.  *
  9.  *  Squid is the result of efforts by numerous individuals from the
  10.  *  Internet community.  Development is led by Duane Wessels of the
  11.  *  National Laboratory for Applied Network Research and funded by the
  12.  *  National Science Foundation.  Squid is Copyrighted (C) 1998 by
  13.  *  Duane Wessels and the University of California San Diego.  Please
  14.  *  see the COPYRIGHT file for full details.  Squid incorporates
  15.  *  software developed and/or copyrighted by other sources.  Please see
  16.  *  the CREDITS file for full details.
  17.  *
  18.  *  This program is free software; you can redistribute it and/or modify
  19.  *  it under the terms of the GNU General Public License as published by
  20.  *  the Free Software Foundation; either version 2 of the License, or
  21.  *  (at your option) any later version.
  22.  *  
  23.  *  This program is distributed in the hope that it will be useful,
  24.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  25.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  26.  *  GNU General Public License for more details.
  27.  *  
  28.  *  You should have received a copy of the GNU General Public License
  29.  *  along with this program; if not, write to the Free Software
  30.  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
  31.  *
  32.  */
  33. /*
  34.  * Stack is a (void*) stack with unlimited capacity; based on Array
  35.  */
  36. #include "config.h"
  37. #if HAVE_ASSERT_H
  38. #include <assert.h>
  39. #endif
  40. #if HAVE_STRING_H
  41. #include <string.h>
  42. #endif
  43. #include "util.h"
  44. #include "Stack.h"
  45. void *
  46. stackPop(Stack * s)
  47. {
  48.     assert(s);
  49.     return s->count ? s->items[--s->count] : NULL;
  50. }
  51. void *
  52. stackTop(Stack *s)
  53. {
  54.     assert(s);
  55.     return s->count ? s->items[s->count-1] : NULL;
  56. }