- Fix build on armv6

- Bump PORTREVISION for package change

PR:		201226
Submitted by:	Mikael Urankar <mikael.urankar@gmail.com>
Tested by:	mmoll
This commit is contained in:
Sunpoet Po-Chuan Hsieh 2015-11-29 07:00:42 +00:00
parent 601fd732fc
commit ba37dc43d2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=402582
2 changed files with 117 additions and 1 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= lcms2
PORTVERSION= 2.7
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= SF/lcms/lcms/${PORTVERSION}

View File

@ -0,0 +1,116 @@
--- src/cmsnamed.c.orig 2015-03-17 11:19:51 UTC
+++ src/cmsnamed.c
@@ -185,8 +185,19 @@ cmsBool CMSEXPORT cmsMLUsetASCII(cmsMLU*
cmsUInt32Number i, len = (cmsUInt32Number) strlen(ASCIIString)+1;
wchar_t* WStr;
cmsBool rc;
- cmsUInt16Number Lang = _cmsAdjustEndianess16(*(cmsUInt16Number*) LanguageCode);
- cmsUInt16Number Cntry = _cmsAdjustEndianess16(*(cmsUInt16Number*) CountryCode);
+ union {
+ cmsUInt16Number uint16;
+ char str[2];
+ } code_convert;
+ cmsUInt16Number Lang;
+ cmsUInt16Number Cntry;
+
+ code_convert.str[0] = LanguageCode[0];
+ code_convert.str[1] = LanguageCode[1];
+ Lang = _cmsAdjustEndianess16(code_convert.uint16);
+ code_convert.str[0] = CountryCode[0];
+ code_convert.str[1] = CountryCode[1];
+ Cntry = _cmsAdjustEndianess16(code_convert.uint16);
if (mlu == NULL) return FALSE;
@@ -220,10 +231,22 @@ cmsUInt32Number mywcslen(const wchar_t *
// Add a wide entry
cmsBool CMSEXPORT cmsMLUsetWide(cmsMLU* mlu, const char Language[3], const char Country[3], const wchar_t* WideString)
{
- cmsUInt16Number Lang = _cmsAdjustEndianess16(*(cmsUInt16Number*) Language);
- cmsUInt16Number Cntry = _cmsAdjustEndianess16(*(cmsUInt16Number*) Country);
cmsUInt32Number len;
+ union {
+ cmsUInt16Number uint16;
+ char str[2];
+ } code_convert;
+ cmsUInt16Number Lang;
+ cmsUInt16Number Cntry;
+
+ code_convert.str[0] = Language[0];
+ code_convert.str[1] = Language[1];
+ Lang = _cmsAdjustEndianess16(code_convert.uint16);
+ code_convert.str[0] = Country[0];
+ code_convert.str[1] = Country[1];
+ Cntry = _cmsAdjustEndianess16(code_convert.uint16);
+
if (mlu == NULL) return FALSE;
if (WideString == NULL) return FALSE;
@@ -350,8 +373,19 @@ cmsUInt32Number CMSEXPORT cmsMLUgetASCII
cmsUInt32Number StrLen = 0;
cmsUInt32Number ASCIIlen, i;
- cmsUInt16Number Lang = _cmsAdjustEndianess16(*(cmsUInt16Number*) LanguageCode);
- cmsUInt16Number Cntry = _cmsAdjustEndianess16(*(cmsUInt16Number*) CountryCode);
+ union {
+ cmsUInt16Number uint16;
+ char str[2];
+ } code_convert;
+ cmsUInt16Number Lang;
+ cmsUInt16Number Cntry;
+
+ code_convert.str[0] = LanguageCode[0];
+ code_convert.str[1] = LanguageCode[1];
+ Lang = _cmsAdjustEndianess16(code_convert.uint16);
+ code_convert.str[0] = CountryCode[0];
+ code_convert.str[1] = CountryCode[1];
+ Cntry = _cmsAdjustEndianess16(code_convert.uint16);
// Sanitize
if (mlu == NULL) return 0;
@@ -394,8 +428,19 @@ cmsUInt32Number CMSEXPORT cmsMLUgetWide(
const wchar_t *Wide;
cmsUInt32Number StrLen = 0;
- cmsUInt16Number Lang = _cmsAdjustEndianess16(*(cmsUInt16Number*) LanguageCode);
- cmsUInt16Number Cntry = _cmsAdjustEndianess16(*(cmsUInt16Number*) CountryCode);
+ union {
+ cmsUInt16Number uint16;
+ char str[2];
+ } code_convert;
+ cmsUInt16Number Lang;
+ cmsUInt16Number Cntry;
+
+ code_convert.str[0] = LanguageCode[0];
+ code_convert.str[1] = LanguageCode[1];
+ Lang = _cmsAdjustEndianess16(code_convert.uint16);
+ code_convert.str[0] = CountryCode[0];
+ code_convert.str[1] = CountryCode[1];
+ Cntry = _cmsAdjustEndianess16(code_convert.uint16);
// Sanitize
if (mlu == NULL) return 0;
@@ -427,10 +472,20 @@ CMSAPI cmsBool CMSEXPORT cmsMLUgetTransl
{
const wchar_t *Wide;
- cmsUInt16Number Lang = _cmsAdjustEndianess16(*(cmsUInt16Number*) LanguageCode);
- cmsUInt16Number Cntry = _cmsAdjustEndianess16(*(cmsUInt16Number*) CountryCode);
cmsUInt16Number ObtLang, ObtCode;
+ union {
+ cmsUInt16Number uint16;
+ char str[3];
+ } code_convert;
+ cmsUInt16Number Lang;
+ cmsUInt16Number Cntry;
+
+ strcpy(code_convert.str, LanguageCode);
+ Lang = _cmsAdjustEndianess16(code_convert.uint16);
+ strcpy(code_convert.str, CountryCode);
+ Cntry = _cmsAdjustEndianess16(code_convert.uint16);
+
// Sanitize
if (mlu == NULL) return FALSE;