TweetFollow Us on Twitter

Jun 99 Tips

Volume Number: 15 (1999)
Issue Number: 6
Column Tag: Tips & Tidbits

Jun 99 Tips

by Jeff Clites, online@mactech.com

Conversion from Intel Byte Order

Intel microprocessors store integer data in a different way than the PowerPC does. The PowerPC (operating under the Mac OS) stores the bytes in big endian order, from the most significant to the least significant, while the Intel processor uses the opposite byte order (little endian).

When you are using a Macintosh but have to read a file created on a computer with an Intel processor, or when you have to write a file for later use on an Intel machine, this difference is something you have to worry about. You can use the following routines to convert shorts and longs back and forth between the two byte orders.

#define MotorolaToIntelLong IntelToMotorolaLong
#define MotorolaToIntelShort IntelToMotorolaShort
/* Prototypes */
unsigned long IntelToMotorolaLong (unsigned long original);
unsigned short IntelToMotorolaShort 
							(unsigned short original);
/* Intel to Motorola bytes order */
/* Little endian to big endian   */
unsigned long IntelToMotorolaLong (unsigned long original)
{
	unsigned long converted;
	char *b;
	converted = 0L;
	if (original == 0) return converted;
	b = (char*)&converted;
	*b++ = (char)(original);
	*b++ = (char)(original >> 8);
	*b++ = (char)(original >> 16);
	*b++ = (char)(original >> 24);
	return converted;
}

/* Intel to Motorola bytes order */
/* Little endian to big endian   */
unsigned short IntelToMotorolaShort 
							(unsigned short original)
{
	unsigned short converted;
	char *b;
	converted = 0;
	if (original == 0) return converted;
	b = (char *)&converted;
	*b++ = (char)(original);
	*b++ = (char)(original >> 8);
	return converted;
}

Marco Bambini
marco@spiderlink.it

C++ File Streams and FSSpecs

When using ANSI C and C++ file routines, Macintosh programmers run into the unfortunate snag that these routines assume that files are properly identified by path names, but under the Mac OS they are specified through an FSSpec data structure. Of course, it is possible to obtain the full path to a file given its FSSpec, but this isn't really a solution, because on the Macintosh full path names don't uniquely identify files (for instance, if the user has more than one mounted disk with the same name).

Fortunately, Metrowerks has provided FSp_fopen, which works like C's fopen except that it uses FSSpecs instead of paths. To similarly obtain a C++ file stream you have to do a little more work, but the following example from Metrowerks' MWRon <MWRon@metrowerks.com> demonstrates how to do it with minimal fuss.

#include <iostream>
#include <fstream>
#include <SIOUX.h>
#include <unistd.h>
#include <cstring>
using namespace std;
int GetStream(FSSpec &fs, ifstream &in);
void Initialize(void);
const int PSIZE = 256;
char AppPathName[PSIZE];
char FilePathName[PSIZE];
int main()
{
	// initialize your managers
	Initialize();
	SIOUXSettings.initializeTB = FALSE;
	ifstream in;  // input file
	strcpy(AppPathName , "");		// safety
	strcpy(FilePathName , "");	// safety
	const short kNilFilterProc = nil;	// use dialog to open file
	StandardFileReply  reply;
	short numTypes = 0;
	SFTypeList typeList;
	FSSpec fs;
 	StandardGetFile( kNilFilterProc, numTypes, typeList, &reply);
	fs = reply.sfFile;
 	if(GetStream(fs, in)) exit(1); // stream failed to open
 	strcat(FilePathName, p2cstr(fs.name) );
 	c2pstr((char *)fs.name); 
	// see where we are at now
	cout << "The folder holding the executable is \n" 
 		<< getcwd(AppPathName, PSIZE) << endl;
 	cout << "The opened file's full name is \n" 
 		<< FilePathName << endl;
  	
	return 0;
}
 
int GetStream(FSSpec &fs, ifstream &in)
{
	short savedVol;
	OSErr err = 0;

	// get volume of application
	if ( (err = GetVol(0, &savedVol)) != NULL)
		return err;

	// set working volume	
	if ((err = HSetVol(0, fs.vRefNum, fs.parID)) != NULL)
		return err;
	
	// open file 
	in.open(p2cstr(fs.name));
	if(!in) { err = 1; return err;}
	c2pstr((char *)fs.name);
	getcwd(FilePathName, PSIZE);   // get working directory	
	// reset volume of application
	if( (err = SetVol(0, savedVol)) != NULL)
		return err;
	
	return err;
}

void Initialize(void)
{
	/* Initialize all the needed managers. */
	InitGraf(&qd.thePort);
	InitFonts();
	InitWindows();
	InitMenus();
	TEInit();
	InitDialogs(nil);
	InitCursor();
}
 
AAPL
$518.58
Apple Inc.
+0.62
MSFT
$40.13
Microsoft Corpora
+0.38
GOOG
$549.88
Google Inc.
+13.44

MacTech Search:
Community Search:

Software Updates via MacUpdate

PDFpenPro 6.2 - Advanced PDF toolkit for...
PDFpenPro allows users to edit PDF's easily. Add text, images and signatures. Fill out PDF forms. Merge or split PDF documents. Reorder and delete pages. Even correct text and edit graphics! Create... Read more
PDFpen 6.2 - Edit and annotate PDFs with...
PDFpen allows users to easily edit PDF's. Add text, images and signatures. Fill out PDF forms. Merge or split PDF documents. Reorder and delete pages. Even correct text and edit graphics! Features... Read more
Monolingual 1.5.9 - Remove unwanted OS X...
Monolingual is a program for removing unnecesary language resources from OS X, in order to reclaim several hundred megabytes of disk space. It requires a 64-bit capable Intel-based Mac and at least... Read more
Maya 2015 - Professional 3D modeling and...
Maya is an award-winning software and powerful, integrated 3D modeling, animation, visual effects, and rendering solution. Because Maya is based on an open architecture, all your work can be scripted... Read more
Starcraft II: Wings of Liberty 1.1.1.180...
Download the patch by launching the Starcraft II game and downloading it through the Battle.net connection within the app. Starcraft II: Wings of Liberty is a strategy game played in real-time. You... Read more
Sibelius 7.5.0 - Music notation solution...
Sibelius is the world's best-selling music notation software for Mac. It is as intuitive to use as a pen, yet so powerful that it does most things in less than the blink of an eye. The demo includes... Read more
Typinator 5.9 - Speedy and reliable text...
Typinator turbo-charges your typing productivity. Type a little. Typinator does the rest. We've all faced projects that require repetitive typing tasks. With Typinator, you can store commonly used... Read more
MYStuff Pro 2.0.16 - Create inventories...
MYStuff Pro is the most flexible way to create detail-rich inventories for your home or small business. Add items to MYStuff by dragging and dropping existing information, uploading new images, or... Read more
TurboTax 2013.r17.002 - Manage your 2013...
TurboTax guides you through your tax return step by step, does all the calculations, and checks your return for errors and overlooked deductions. It lets you file your return electronically to get... Read more
TrailRunner 3.8.769 - Route planning for...
Note: While the software is classified as freeware, it is actually donationware. Please consider making a donation to help support development. TrailRunner is the perfect companion for runners,... Read more

Latest Forum Discussions

See All

Groundskeeper2 Review
Groundskeeper2 Review By Nadia Oxford on April 16th, 2014 Our Rating: :: SLICE THOSE ALIEN SLIMEUniversal App - Designed for iPhone and iPad Putting aside some minor control issues, Groundskeeper2 is a fun and furious action/... | Read more »
Pinnacle Studio for iPhone (Photography...
Pinnacle Studio for iPhone 5.0 Device: iOS iPhone Category: Photography Price: $9.99, Version: 5.0 (iTunes) Description: | Read more »
Season 3 of Zombies, Run! Starts Right N...
Season 3 of Zombies, Run! | Read more »
Snupps Review
Snupps Review By Jennifer Allen on April 16th, 2014 Our Rating: :: USEFUL LISTINGUniversal App - Designed for iPhone and iPad Got a huge collection that you need to organize, or just want to share with others? Snupps has it covered... | Read more »
Toad Rider Goes Free for a Limited Time,...
Toad Rider Goes Free for a Limited Time, Starting This Week Posted by Tre Lawrence on April 16th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Knights of Pen & Paper is Free for a...
Knights of Pen & Paper is Free for a Limited Time – Don’t Wait for a Natural 20, Get it Now! Posted by Rob Rich on April 16th, 2014 [ permalink ] | Read more »
R.B.I. Baseball 14 Review
R.B.I. Baseball 14 Review By Blake Grundman on April 16th, 2014 Our Rating: :: RETRO REVIVEDUniversal App - Designed for iPhone and iPad What was old is new again, as the MLB attempts to taking baseball gaming back to its retro... | Read more »
Noodlecake Studios Places Mikey Hooks on...
Noodlecake Studios Places Mikey Hooks on Sale, Releases Sneak Peek Trailer for Upcoming Sequel Mikey Boots Posted by Tre Lawrence on April 16th, 2014 [ | Read more »
Cosmic Mechanic Review
Cosmic Mechanic Review By Blake Grundman on April 16th, 2014 Our Rating: :: SLIGHTLY CREDIBLE MACHINEUniversal App - Designed for iPhone and iPad Creatives folks love the opportunity to have their wits tested, but there isn’t... | Read more »
ClutchPlay Games Releases Trailer for it...
ClutchPlay Games Releases Trailer for its Upcoming New Game, Skullduggery! | Read more »

Price Scanner via MacPrices.net

Microsoft Blinks – Drops Microsoft Office 365...
Microsoft has dropped the annual subscription fee for Microsoft Office 365 Personal – which is needed in order to create and edit documents in Microsoft Office for iPad. However, Apple’s iOS and OS X... Read more
New AVG Vault Apps for iOS and Android Help K...
AVG Technologies N.V. an online security company for 177 million active users, has announced the launch of its latest mobile application, AVG Vault. The free app introduces an innovative user... Read more
Free Local Carrot iPhone App Helps Find Fresh...
I love fresh vegetables. I’m not a vegan, although I was for several years in the 1980s, but fresh vegetables and other whole foods are still my dietary mainstays as a matter of taste rather than... Read more
Apple refurbished iPad Airs available startin...
Apple is now offering Certified Refurbished iPad Airs for up to $140 off MSRP. Apple’s one-year warranty is included with each model, and shipping is free. The following Airs are available today: -... Read more
21-inch 2.7GHz iMac on sale for $1179, save $...
B&H Photo has the 21″ 2.7GHz iMac on sale for $1179 including free shipping plus NY sales tax only. Their price is $120 off MSRP. Add an iMac to your shopping cart, and B&H will offer an... Read more
Download our app, iTracx, for iOS and Android
MacPrices is proud to offer readers a free iOS app (iPhones, iPads, & iPod touch) and Android app (Google Play and Amazon App Store) called iTracx, which allows you to glance at today’s lowest... Read more
Education discounts shave up to $300 off the...
Purchase a new Mac at The Apple Store for Education and take up to $300 off MSRP. All teachers, students, and staff of any educational institution qualify for the discount. Shipping is free, and all... Read more
Save $50 on Mac mini Server
B&H Photo has the 2012 Mac mini Server on sale for $949 including free shipping plus NY sales tax only. Their price is $50 off MSRP. Read more
PhatWare’s “Ultimate Writing App For iOS” Ren...
PhatWare Corp. has announced it has renamed its new WritePro word processing app for iPhone and iPad: WritePad Pro. The decision to change the app’s name to leverages the strong brand awareness and... Read more
Full Resolution Photo Editor Tint Mint 1.0 Re...
California based independent developer, Jeffrey Sun, creator of the iOS app Modern Editor, has released Tint Mint, a new photography app for editing enthusiasts. The app costs a dollar, and it packs... Read more

Jobs Board

*Apple* Retail - Manager - Apple (United Sta...
Job SummaryKeeping an Apple Store thriving requires a diverse set of leadership skills, and as a Manager, you're a master of them all. In the store's fast-paced, dynamic Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Retail - Market Leader - Cincinnati...
…challenges of developing individuals, building teams, and affecting growth across Apple Stores. You demonstrate successful leadership ability - focusing on excellence Read more
*Apple* Retail - Manager - SoHo - Apple (Uni...
Job SummaryKeeping an Apple Store thriving requires a diverse set of leadership skills, and as a Manager, you're a master of them all. In the store's fast-paced, dynamic Read more
Position Opening at *Apple* - Apple (United...
**Job Summary** Every day, business customers come to the Apple Store to discover what powerful, easy-to-use Apple products can do for them. As a Business Leader, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.