summaryrefslogtreecommitdiff
path: root/app/bin/helphelper.c
diff options
context:
space:
mode:
Diffstat (limited to 'app/bin/helphelper.c')
-rw-r--r--app/bin/helphelper.c123
1 files changed, 66 insertions, 57 deletions
diff --git a/app/bin/helphelper.c b/app/bin/helphelper.c
index 36083b8..52bce2d 100644
--- a/app/bin/helphelper.c
+++ b/app/bin/helphelper.c
@@ -1,5 +1,5 @@
/** \file helphelper.c
- * use OSX Help system
+ * use OSX Help system
*/
/* XTrkCad - Model Railroad CAD
@@ -17,7 +17,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#import <CoreFoundation/CoreFoundation.h>
@@ -43,50 +43,56 @@
OSStatus MyGoToHelpPage (CFStringRef pagePath, CFStringRef anchorName)
{
- CFBundleRef myApplicationBundle = NULL;
- CFStringRef myBookName = NULL;
- OSStatus err = noErr;
- printf("HelpHelper: Started to look for help\n");
-
- myApplicationBundle = CFBundleGetMainBundle();
- if (myApplicationBundle == NULL) {
- printf("HelpHelper: Error - No Application Bundle\n");
- err = fnfErr;
- return err;
- }
- printf("HelpHelper: Application Bundle Found\n");
-
- myBookName = CFBundleGetValueForInfoDictionaryKey(
- myApplicationBundle,
- CFSTR("CFBundleHelpBookName"));
- if (myBookName == NULL) {
- myBookName = CFStringCreateWithCString(NULL, "XTrackCAD Help", kCFStringEncodingMacRoman);
- printf("HelpHelper: Defaulting to 'XTrackCAD Help'\n" );
- err = fnfErr;
- return err;
- }
- printf("HelpHelper: BookName dictionary name %s found\n",CFStringGetCStringPtr(myBookName, kCFStringEncodingMacRoman));
-
- if (CFGetTypeID(myBookName) != CFStringGetTypeID()) {
- printf("HelpHelper: Error - BookName is not a string\n" );
- err = paramErr;
- }
-
- if (err == noErr) {
- err = AHGotoPage (myBookName, pagePath, anchorName);
- if (err != noErr) {
- printf("HelpHelper: Error in AHGoToPage('%s','%s')\n",CFStringGetCStringPtr(myBookName, kCFStringEncodingMacRoman), CFStringGetCStringPtr(pagePath, kCFStringEncodingMacRoman));
- }
- }
-
- return err;
-
+ CFBundleRef myApplicationBundle = NULL;
+ CFStringRef myBookName = NULL;
+ OSStatus err = noErr;
+ printf("HelpHelper: Started to look for help\n");
+
+ myApplicationBundle = CFBundleGetMainBundle();
+ if (myApplicationBundle == NULL) {
+ printf("HelpHelper: Error - No Application Bundle\n");
+ err = fnfErr;
+ return err;
+ }
+ printf("HelpHelper: Application Bundle Found\n");
+
+ myBookName = CFBundleGetValueForInfoDictionaryKey(
+ myApplicationBundle,
+ CFSTR("CFBundleHelpBookName"));
+ if (myBookName == NULL) {
+ myBookName = CFStringCreateWithCString(NULL, "XTrackCAD Help",
+ kCFStringEncodingMacRoman);
+ printf("HelpHelper: Defaulting to 'XTrackCAD Help'\n" );
+ err = fnfErr;
+ return err;
+ }
+ printf("HelpHelper: BookName dictionary name %s found\n",
+ CFStringGetCStringPtr(myBookName, kCFStringEncodingMacRoman));
+
+ if (CFGetTypeID(myBookName) != CFStringGetTypeID()) {
+ printf("HelpHelper: Error - BookName is not a string\n" );
+ err = paramErr;
+ }
+
+ if (err == noErr) {
+ err = AHGotoPage (myBookName, pagePath, anchorName);
+ if (err != noErr) {
+ printf("HelpHelper: Error in AHGoToPage('%s','%s')\n",
+ CFStringGetCStringPtr(myBookName, kCFStringEncodingMacRoman),
+ CFStringGetCStringPtr(pagePath, kCFStringEncodingMacRoman));
+ }
+ }
+
+ return err;
+
};
-int displayHelp(char* name) {
- CFStringRef str = CFStringCreateWithCString(NULL,name,kCFStringEncodingMacRoman);
+int displayHelp(char* name)
+{
+ CFStringRef str = CFStringCreateWithCString(NULL,name,
+ kCFStringEncodingMacRoman);
OSStatus err = MyGoToHelpPage(str, NULL);
- if (err != noErr) printf("HelpHelper: MyGoToHelpPage had error %d\n", err);
+ if (err != noErr) { printf("HelpHelper: MyGoToHelpPage had error %d\n", err); }
return err;
};
@@ -97,51 +103,54 @@ main( int argc, char **argv )
int handleOfPipe = 0;
char buffer[ 100 ];
char issue[ 100 ];
-
+
int len;
int finished = 0;
int numBytes = 0;
int numBytes2 = 0;
-
+
printf( "HelpHelper: starting!\n" );
-
+
handleOfPipe = open( HELPCOMMANDPIPE, O_RDONLY );
if( handleOfPipe ) {
printf( "HelpHelper: opened pipe for reading\n" );
while( !finished ) {
printf( "HelpHelper: reading from pipe...\n" );
numBytes = read( handleOfPipe, &len, sizeof( int ));
-
- if( numBytes > 0 )
+
+ if( numBytes > 0 ) {
printf( "HelpHelper: read %d bytes\n", numBytes );
+ }
if( numBytes == sizeof(int)) {
printf( "HelpHelper: Expecting %d bytes\n", len );
numBytes2 = read( handleOfPipe, buffer, len + 1 );
buffer[numBytes2] = '\0';
- if (numBytes2 > 0)
+ if (numBytes2 > 0) {
printf( "HelpHelper: Display help on: %s\n", buffer );
-
+ }
+
if( !strcmp(buffer, EXITCOMMAND )) {
finished = 1;
} else {
- if (displayHelp(buffer) != 0)
+ if (displayHelp(buffer) != 0) {
printf( "HelpHelper: Error\n");
- }
+ }
+ }
}
if( numBytes <= 0 ) {
printf( "HelpHelper: exiting on pipe error\n" );
exit( 1 );
- }
+ }
}
} else {
printf( "HelpHelper: Could not open pipe for reading\n" );
- }
-
+ }
+
printf( "HelpHelper: exiting!" );
-
+
exit( 0 );
};
-
+