× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Dennis,

Good catch. The %TrimR was left over from when I was concatenating the null to the string myself. You're right, it's unnecessary now.


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Dennis Lovelady
Sent: Wednesday, June 23, 2010 3:01 PM
To: 'RPG programming on the IBM i / System i'
Subject: RE: C rename returns -1 but error text says no error exists

Good job.

So that you know, your %TRIMR() has no function when your receiving field is not varying length.

Dennis Lovelady
http://www.linkedin.com/in/dennislovelady
--
"If you tell the truth you don't have to remember anything."
-- Mark Twain


Thanks to everyone who chimed in to help on this. For the archives
here is what I ended up with.

API prototype:
d Rename pr 10i 0 ExtProc('Qp0lRenameUnlink')
d OldFile * Value Options(*String :*Trim)
d NewFile * Value Options(*String :*Trim)

Fields used on the call and for error retrieval:
d OldFile s 128a
d NewFile s 128a
d RenameErrNbr s 10i 0 Based(RenameErrNbr@)
d RenameErrTxt s 128a Based(RenameErrTxt@)

Call the API and check for error:
OldFile = %TrimR(InPath) + %TrimR(FileName);
NewFile = %TrimR(InPath) + %TrimR(NewName);
RtnCode = Rename(Oldfile :NewFile);

If RtnCode < 0;
RenameErrNbr@ = GetErrNo();
RenameErrTxt@ = GetErrNoTxt(RenameErrNbr);
EndIf;

Reference service program QP0LLIB1 either directly on the compile or
by using a binding directory. This is where the Qp0lRenameUnlink is
exported from.

Privileged and Confidential. This e-mail, and any attachments there
to, is intended only for use by the addressee(s) named herein and may
contain privileged or confidential information. If you have received
this e-mail in error, please notify me immediately by a return e-mail
and delete this e-mail. You are hereby notified that any
dissemination, distribution or copying of this e-mail and/or any
attachments thereto, is strictly prohibited.
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.



Privileged and Confidential. This e-mail, and any attachments there to, is intended only for use by the addressee(s) named herein and may contain privileged or confidential information. If you have received this e-mail in error, please notify me immediately by a return e-mail and delete this e-mail. You are hereby notified that any dissemination, distribution or copying of this e-mail and/or any attachments thereto, is strictly prohibited.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.