OSI/FTAM Programming Reference Manual

NonStop FTAM Programming Examples
HP NonStop OSI/FTAM Programming Reference Manual528611-001
G-233
Translation Application Example
436 memcpy (zFilename, sReqFname.zName, sReqFname.sSize);
437 zFilename [sReqFname.sSize] = ’\0’;
438 /*For this sample program, use filename (upshifted) to look up param*/
439 STRING_UPSHIFT_ (zFilename, sReqFname.sSize, zFilename,
440 sReqFname.sSize);
441 zParam = getenv (zFilename);
442 if (!zParam) /* No translation...*/
443 sXltErr = 3021;
444 else
445 {
446 /* Try to convert to a fname32. */
447 sXltErr = FILENAME_TO_OLDFILENAME_ (zParam,
448 (short) strlen (zParam),
449 saOldName);
450 if (sXltErr == 0)
451 sXltErr = (FNAMETOFNAME32 ((char *) saOldName,
452 (char *) &sXltFname) ? 0 : 13);
453 }
454 /* For this example, replace spaces in userid with nulls and print.*/
455 for (iNdx = 0; iNdx < sUser.sSize; iNdx++)
456 if (sUser.zName [iNdx] == ’ ’)
457 sUser.zName [iNdx] = ’\0’;
458 printf ("Xlate of ’%s’ by %1.8s.%1.8s (",
459 zFilename, sUser.zName, sUser.zName + 8);
460 switch (eXlateAct)
461 {
462 case zosf_val_xlate_act_select:
463 printf ("F-SELECT) ");
464 break;
465
466 case zosf_val_xlate_act_create:
467 printf ("F-CREATE) ");
468 break;
469
470 default:
471 printf ("F-?? [%d]) ", eXlateAct);
472 break;
473 }
474 if (sXltErr)