Files correlati : Commento : Spostamento in libraries delle librerie esterne di Campo per una maggiore pulizia e organizzazione git-svn-id: svn://10.65.10.50/branches/R_10_00@24150 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
|    curl_off_t explained
 | |
|    ====================
 | |
| 
 | |
| curl_off_t is a data type provided by the external libcurl include headers. It
 | |
| is the type meant to be used for the curl_easy_setopt() options that end with
 | |
| LARGE. The type is 64bit large on most modern platforms.
 | |
| 
 | |
| Transition from < 7.19.0 to >= 7.19.0
 | |
| -------------------------------------
 | |
| 
 | |
| Applications that used libcurl before 7.19.0 that are rebuilt with a libcurl
 | |
| that is 7.19.0 or later may or may not have to worry about anything of
 | |
| this. We have made a significant effort to make the transition really seamless
 | |
| and transparent.
 | |
| 
 | |
| You have have to take notice if you are in one of the following situations:
 | |
| 
 | |
| o Your app is using or will after the transition use a libcurl that is built
 | |
|   with LFS (large file support) disabled even though your system otherwise
 | |
|   supports it.
 | |
| 
 | |
| o Your app is using or will after the transition use a libcurl that doesn't
 | |
|   support LFS at all, but your system and compiler support 64bit data types.
 | |
| 
 | |
| In both these cases, the curl_off_t type will now (after the transition) be
 | |
| 64bit where it previously was 32bit. This will cause a binary incompatibility
 | |
| that you MAY need to deal with.
 | |
| 
 | |
| Benefits
 | |
| --------
 | |
| 
 | |
| This new way has several benefits:
 | |
| 
 | |
| o Platforms without LFS support can still use libcurl to do >32 bit file
 | |
|   transfers and range operations etc as long as they have >32 bit data-types
 | |
|   supported.
 | |
| 
 | |
| o Applications will no longer easily build with the curl_off_t size
 | |
|   mismatched, which has been a very frequent (and annoying) problem with
 | |
|   libcurl <= 7.18.2
 | |
| 
 | |
| Historically
 | |
| ------------
 | |
| 
 | |
| Previously, before 7.19.0, the curl_off_t type would be rather strongly
 | |
| connected to the size of the system off_t type, where currently curl_off_t is
 | |
| independent of that.
 | |
| 
 | |
| The strong connection to off_t made it troublesome for application authors
 | |
| since when they did mistakes, they could get curl_off_t type of different
 | |
| sizes in the app vs libcurl, and that caused strange effects that were hard to
 | |
| track and detect by users of libcurl.
 | |
| 
 | |
| SONAME
 | |
| ------
 | |
| 
 | |
| We opted to not bump the soname for the library unconditionally, simply
 | |
| because soname bumping is causing a lot of grief and moaning all over the
 | |
| community so we try to keep that at minimum. Also, our selected design path
 | |
| should be 100% backwards compatible for the vast majority of all libcurl
 | |
| users.
 | |
| 
 | |
| Enforce SONAME bump
 | |
| -------------------
 | |
| 
 | |
| If configure doesn't detect your case where a bump is necessary, re-run it
 | |
| with the --enable-soname-bump command line option!
 |