Commit f2f45339 authored by Yang Tse's avatar Yang Tse
Browse files

Moved Curl_rand() and Curl_srand() code from formdata.c and formdata.h

into curl_rand.c and curl_rand.h
parent be5c815f
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -69,7 +69,8 @@ OBJS = $(OBJ_DIR)\base64.obj $(OBJ_DIR)\connect.obj &
       $(OBJ_DIR)\telnet.obj           $(OBJ_DIR)\tftp.obj           &
       $(OBJ_DIR)\timeval.obj          $(OBJ_DIR)\transfer.obj       &
       $(OBJ_DIR)\url.obj              $(OBJ_DIR)\version.obj        &
       $(OBJ_DIR)\slist.obj            $(OBJ_DIR)\nonblock.obj
       $(OBJ_DIR)\slist.obj            $(OBJ_DIR)\nonblock.obj       &
       $(OBJ_DIR)\curl_rand.obj

#
# Use $(OBJS) as a template to generate $(OBJS_STAT) and $(OBJS_DYN).
@@ -185,7 +186,7 @@ $(OBJ_DIR)\formdata.obj: formdata.c setup.h config-win32.h ..\include\curl\curlb
  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
  urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
  llist.h curl_addrinfo.h splay.h easyif.h strequal.h curl_memory.h &
  ..\include\curl\mprintf.h memdebug.h
  curl_rand.h ..\include\curl\mprintf.h memdebug.h
$(OBJ_DIR)\cookie.obj: cookie.c setup.h config-win32.h ..\include\curl\curlbuild.h &
  ..\include\curl\curlrules.h setup_once.h ..\include\curl\mprintf.h &
  ..\include\curl\curl.h ..\include\curl\curlver.h &
@@ -331,7 +332,7 @@ $(OBJ_DIR)\easy.obj: easy.c setup.h config-win32.h ..\include\curl\curlbuild.h &
  formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h &
  curl_addrinfo.h splay.h transfer.h sslgen.h url.h getinfo.h share.h &
  strdup.h curl_memory.h progress.h easyif.h select.h sendf.h http_ntlm.h &
  connect.h ..\include\curl\mprintf.h memdebug.h
  curl_rand.h connect.h ..\include\curl\mprintf.h memdebug.h
$(OBJ_DIR)\security.obj: security.c setup.h config-win32.h ..\include\curl\curlbuild.h &
  ..\include\curl\curlrules.h setup_once.h
$(OBJ_DIR)\krb4.obj: krb4.c setup.h config-win32.h ..\include\curl\curlbuild.h &
@@ -541,3 +542,9 @@ $(OBJ_DIR)\curl_addrinfo.obj: curl_addrinfo.c setup.h config-win32.h &
  ..\include\curl\curlrules.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h curl_addrinfo.h &
  ..\include\curl\mprintf.h curl_memory.h memdebug.h
$(OBJ_DIR)\curl_rand.obj: curl_rand.c setup.h config-win32.h &
  ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
  ..\include\curl\curl.h ..\include\curl\curlver.h &
  ..\include\curl\curlrules.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h curl_rand.h &
  ..\include\curl\mprintf.h curl_memory.h memdebug.h
+2 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ CSOURCES = file.c timeval.c base64.c hostip.c progress.c formdata.c \
  ldap.c ssluse.c version.c getenv.c escape.c mprintf.c telnet.c	\
  netrc.c getinfo.c transfer.c strequal.c easy.c security.c krb4.c	\
  krb5.c memdebug.c http_chunks.c strtok.c connect.c llist.c hash.c	\
  multi.c content_encoding.c share.c http_digest.c md5.c		\
  multi.c content_encoding.c share.c http_digest.c md5.c curl_rand.c	\
  http_negotiate.c http_ntlm.c inet_pton.c strtoofft.c strerror.c	\
  hostares.c hostasyn.c hostip4.c hostip6.c hostsyn.c hostthre.c	\
  inet_ntop.c parsedate.c select.c gtls.c sslgen.c tftp.c splay.c	\
@@ -15,7 +15,7 @@ CSOURCES = file.c timeval.c base64.c hostip.c progress.c formdata.c \
HHEADERS = arpa_telnet.h netrc.h file.h timeval.h qssl.h hostip.h	\
  progress.h formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h	\
  if2ip.h speedcheck.h urldata.h curl_ldap.h ssluse.h escape.h telnet.h	\
  getinfo.h strequal.h krb4.h memdebug.h http_chunks.h	                \
  getinfo.h strequal.h krb4.h memdebug.h http_chunks.h curl_rand.h	\
  strtok.h connect.h llist.h hash.h content_encoding.h share.h		\
  curl_md5.h http_digest.h http_negotiate.h http_ntlm.h inet_pton.h	\
  strtoofft.h strerror.h inet_ntop.h curlx.h curl_memory.h setup.h	\
+4 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ objs = o.base64 o.connect o.cookie o.dict \
	o.security o.select o.sendf o.speedcheck o.ssluse \
	o.strequal o.strtok o.telnet o.timeval \
	o.transfer o.url o.version o.strtoofft o.sslgen o.gtls \
	o.rawstr o.curl_addrinfo o.slist o.nonblock
	o.rawstr o.curl_addrinfo o.slist o.nonblock o.curl_rand

# Compile options:
linkopts	= -o libcurl
@@ -36,6 +36,9 @@ o.cookie: c.cookie
o.curl_addrinfo:	c.curl_addrinfo
		gcc $(compileropts) -c -o curl_addrinfo.o c.curl_addrinfo

o.curl_rand:	c.curl_rand
		gcc $(compileropts) -c -o curl_rand.o c.curl_rand

o.dict:	c.dict
		gcc $(compileropts) -c -o dict.o c.dict

+1 −0
Original line number Diff line number Diff line
@@ -450,6 +450,7 @@ X_OBJS= \
	$(DIROBJ)\content_encoding.obj \
	$(DIROBJ)\cookie.obj \
	$(DIROBJ)\curl_addrinfo.obj \
	$(DIROBJ)\curl_rand.obj \
	$(DIROBJ)\curl_sspi.obj \
	$(DIROBJ)\dict.obj \
	$(DIROBJ)\easy.obj \

lib/curl_rand.c

0 → 100644
+62 −0
Original line number Diff line number Diff line
/***************************************************************************
 *                                  _   _ ____  _
 *  Project                     ___| | | |  _ \| |
 *                             / __| | | | |_) | |
 *                            | (__| |_| |  _ <| |___
 *                             \___|\___/|_| \_\_____|
 *
 * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
 *
 * This software is licensed as described in the file COPYING, which
 * you should have received as part of this distribution. The terms
 * are also available at http://curl.haxx.se/docs/copyright.html.
 *
 * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 * copies of the Software, and permit persons to whom the Software is
 * furnished to do so, under the terms of the COPYING file.
 *
 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
 * KIND, either express or implied.
 *
 * $Id$
 ***************************************************************************/

#include "setup.h"

#include <curl/curl.h>

#include "curl_rand.h"

#define _MPRINTF_REPLACE /* use our functions only */
#include <curl/mprintf.h>

#include "curl_memory.h"
/* The last #include file should be: */
#include "memdebug.h"

/* Private pseudo-random number seed. Unsigned integer >= 32bit. Threads
   mutual exclusion is not implemented to acess it since we do not require
   high quality random numbers (only used in form boudary generation). */

static unsigned int randseed;

/* Pseudo-random number support. */

unsigned int Curl_rand(void)
{
  unsigned int r;
  /* Return an unsigned 32-bit pseudo-random number. */
  r = randseed = randseed * 1103515245 + 12345;
  return (r << 16) | ((r >> 16) & 0xFFFF);
}

void Curl_srand(void)
{
  /* Randomize pseudo-random number sequence. */

  randseed = (unsigned int) time(NULL);
  Curl_rand();
  Curl_rand();
  Curl_rand();
}
Loading