home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a120 / 1.ddi / API / REVORDER.C < prev    next >
Encoding:
C/C++ Source or Header  |  1992-04-23  |  1.9 KB  |  59 lines

  1. /*------------------------------------------------------------------*/
  2. /* REVORDER.C                                                       */
  3. /*------------------------------------------------------------------*/
  4. /* API ▒`  ªí : revorder()                                          */
  5. /* API ¿τ╝╞└] : revorder.plb                                        */
  6. /* ╗y      ¬k : REVORDER(<expC>)                                    */
  7. /* Ñ╬      │~ : ░f┬αñ@¡╙ñσªrªΩ                                      */
  8. /* ⌐IÑsñΦªí   : SET LIBRARY TO REVORDER                             */
  9. /*              ? REVORDER("XYZ")                                   */
  10. /*------------------------------------------------------------------*/
  11.  
  12. #include <pro_ext.h>
  13.  
  14. void FAR revorder(ParamBlk FAR *parm)
  15. {
  16.         int i;
  17.         MHANDLE space;
  18.         char FAR *  in;
  19.         char FAR * out;
  20.  
  21.  
  22.     // └╦¼d¼Oº_»α░t╕m⌐╥╗▌ñº░O╛╨┼Θ
  23.  
  24.     if ((space = _AllocHand(parm->p[0].val.ev_length+1)) == 0)
  25.         _Error(182);             /* ░O╛╨┼Θñú¿¼ */
  26.  
  27.     /*
  28.         Ñ╤⌐≤ª╣▒`ªí¿├ñú╖|⌐IÑsÑ⌠ª≤ñ▐░_░O╛╨┼Θ¡½▓╒ñº¿τ╝╞, ª]ª╣ªb¿╧Ñ╬ _HandToPtr()
  29.         ñº½e╡L╢╖Ѳ¿╧Ñ╬ _HLock() ┬Ωªφª╣ñσªrªΩñº MHANDLE
  30.     */
  31.     in = _HandToPtr(parm->p[0].val.ev_handle);
  32.     out = (char FAR *) _HandToPtr(space) + parm->p[0].val.ev_length;
  33.  
  34.     *(out--) = '\0';         /* Ñ╤⌐≤╡y½ß▒N¿╧Ñ╬ _RetChar() ╢╟ª^░f┬α½ßñºñσ */
  35.                              /* ªrªΩ, ¼Gª╣ªrªΩÑ▓╢╖ÑH NULL ªrñ╕╡▓º└       */
  36.  
  37.     for (i = 0; i < parm->p[0].val.ev_length; i++)
  38.         *(out--) = *(in++);
  39.  
  40.     _HLock(space);                 /* ⌐≤¬≡┴┘⌐IÑs┤┴╢í┬Ωªφ MHANDLE         */
  41.     _RetChar(out+1);
  42.  
  43.     _FreeHand(space);              /* ─└⌐±▒╝º┌¡╠⌐╥░t╕m¬║ MHANDLE         */
  44. }
  45.  
  46.  
  47.  
  48. FoxInfo myFoxInfo[] =
  49. {
  50.     {"REVORDER", revorder , 1 , "C"},
  51. };
  52.  
  53. FoxTable _FoxTable =
  54. {
  55.     (FoxTable FAR *)0,
  56.     sizeof(myFoxInfo) / sizeof(FoxInfo),
  57.     myFoxInfo
  58. };
  59.