Back out r1555 and r1548.  Using setenv() didn't fix the iOS simulator issue.  It just replaced an undefined _putenv$UNIX2003 symbol with an undefined _setenv$UNIX2003 symbol.  The correct solution seems to be to use -D_NONSTD_SOURCE when generating our official builds.


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1557 632fc199-4ca6-4c93-a231-07263d6284db
diff --git a/turbojpeg.c b/turbojpeg.c
index de0c88b..e8b156a 100644
--- a/turbojpeg.c
+++ b/turbojpeg.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C)2009-2015 D. R. Commander.  All Rights Reserved.
+ * Copyright (C)2009-2014 D. R. Commander.  All Rights Reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -42,10 +42,6 @@
 #include "transupp.h"
 #include "./jpegcomp.h"
 
-#ifdef _WIN32
-#define setenv(envvar, value, dummy) putenv(envvar"="value)
-#endif
-
 extern void jpeg_mem_dest_tj(j_compress_ptr, unsigned char **,
 	unsigned long *, boolean);
 extern void jpeg_mem_src_tj(j_decompress_ptr, unsigned char *, unsigned long);
@@ -758,9 +754,9 @@
 	cinfo->image_width=width;
 	cinfo->image_height=height;
 
-	if(flags&TJFLAG_FORCEMMX) setenv("JSIMD_FORCEMMX", "1", 1);
-	else if(flags&TJFLAG_FORCESSE) setenv("JSIMD_FORCESSE", "1", 1);
-	else if(flags&TJFLAG_FORCESSE2) setenv("JSIMD_FORCESSE2", "1", 1);
+	if(flags&TJFLAG_FORCEMMX) putenv("JSIMD_FORCEMMX=1");
+	else if(flags&TJFLAG_FORCESSE) putenv("JSIMD_FORCESSE=1");
+	else if(flags&TJFLAG_FORCESSE2) putenv("JSIMD_FORCESSE2=1");
 
 	if(flags&TJFLAG_NOREALLOC)
 	{
@@ -874,9 +870,9 @@
 	cinfo->image_width=width;
 	cinfo->image_height=height;
 
-	if(flags&TJFLAG_FORCEMMX) setenv("JSIMD_FORCEMMX", "1", 1);
-	else if(flags&TJFLAG_FORCESSE) setenv("JSIMD_FORCESSE", "1", 1);
-	else if(flags&TJFLAG_FORCESSE2) setenv("JSIMD_FORCESSE2", "1", 1);
+	if(flags&TJFLAG_FORCEMMX) putenv("JSIMD_FORCEMMX=1");
+	else if(flags&TJFLAG_FORCESSE) putenv("JSIMD_FORCESSE=1");
+	else if(flags&TJFLAG_FORCESSE2) putenv("JSIMD_FORCESSE2=1");
 
 	if(setCompDefaults(cinfo, pixelFormat, subsamp, -1, flags)==-1) return -1;
 
@@ -1065,9 +1061,9 @@
 	cinfo->image_width=width;
 	cinfo->image_height=height;
 
-	if(flags&TJFLAG_FORCEMMX) setenv("JSIMD_FORCEMMX", "1", 1);
-	else if(flags&TJFLAG_FORCESSE) setenv("JSIMD_FORCESSE", "1", 1);
-	else if(flags&TJFLAG_FORCESSE2) setenv("JSIMD_FORCESSE2", "1", 1);
+	if(flags&TJFLAG_FORCEMMX) putenv("JSIMD_FORCEMMX=1");
+	else if(flags&TJFLAG_FORCESSE) putenv("JSIMD_FORCESSE=1");
+	else if(flags&TJFLAG_FORCESSE2) putenv("JSIMD_FORCESSE2=1");
 
 	if(flags&TJFLAG_NOREALLOC)
 	{
@@ -1335,9 +1331,9 @@
 		|| height<0 || pixelFormat<0 || pixelFormat>=TJ_NUMPF)
 		_throw("tjDecompress2(): Invalid argument");
 
-	if(flags&TJFLAG_FORCEMMX) setenv("JSIMD_FORCEMMX", "1", 1);
-	else if(flags&TJFLAG_FORCESSE) setenv("JSIMD_FORCESSE", "1", 1);
-	else if(flags&TJFLAG_FORCESSE2) setenv("JSIMD_FORCESSE2", "1", 1);
+	if(flags&TJFLAG_FORCEMMX) putenv("JSIMD_FORCEMMX=1");
+	else if(flags&TJFLAG_FORCESSE) putenv("JSIMD_FORCESSE=1");
+	else if(flags&TJFLAG_FORCESSE2) putenv("JSIMD_FORCESSE2=1");
 
 	if(setjmp(this->jerr.setjmp_buffer))
 	{
@@ -1530,9 +1526,9 @@
 	dinfo->image_width=width;
 	dinfo->image_height=height;
 
-	if(flags&TJFLAG_FORCEMMX) setenv("JSIMD_FORCEMMX", "1", 1);
-	else if(flags&TJFLAG_FORCESSE) setenv("JSIMD_FORCESSE", "1", 1);
-	else if(flags&TJFLAG_FORCESSE2) setenv("JSIMD_FORCESSE2", "1", 1);
+	if(flags&TJFLAG_FORCEMMX) putenv("JSIMD_FORCEMMX=1");
+	else if(flags&TJFLAG_FORCESSE) putenv("JSIMD_FORCESSE=1");
+	else if(flags&TJFLAG_FORCESSE2) putenv("JSIMD_FORCESSE2=1");
 
 	if(setDecodeDefaults(dinfo, pixelFormat, subsamp, flags)==-1)
 	{
@@ -1703,9 +1699,9 @@
 		|| height<0)
 		_throw("tjDecompressToYUVPlanes(): Invalid argument");
 
-	if(flags&TJFLAG_FORCEMMX) setenv("JSIMD_FORCEMMX", "1", 1);
-	else if(flags&TJFLAG_FORCESSE) setenv("JSIMD_FORCESSE", "1", 1);
-	else if(flags&TJFLAG_FORCESSE2) setenv("JSIMD_FORCESSE2", "1", 1);
+	if(flags&TJFLAG_FORCEMMX) putenv("JSIMD_FORCEMMX=1");
+	else if(flags&TJFLAG_FORCESSE) putenv("JSIMD_FORCESSE=1");
+	else if(flags&TJFLAG_FORCESSE2) putenv("JSIMD_FORCESSE2=1");
 
 	if(setjmp(this->jerr.setjmp_buffer))
 	{
@@ -1955,9 +1951,9 @@
 		|| t==NULL || flags<0)
 		_throw("tjTransform(): Invalid argument");
 
-	if(flags&TJFLAG_FORCEMMX) setenv("JSIMD_FORCEMMX", "1", 1);
-	else if(flags&TJFLAG_FORCESSE) setenv("JSIMD_FORCESSE", "1", 1);
-	else if(flags&TJFLAG_FORCESSE2) setenv("JSIMD_FORCESSE2", "1", 1);
+	if(flags&TJFLAG_FORCEMMX) putenv("JSIMD_FORCEMMX=1");
+	else if(flags&TJFLAG_FORCESSE) putenv("JSIMD_FORCESSE=1");
+	else if(flags&TJFLAG_FORCESSE2) putenv("JSIMD_FORCESSE2=1");
 
 	if(setjmp(this->jerr.setjmp_buffer))
 	{