- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- DEC C RTL fstat(), stat(), open() and abc^.xyz.xml...
Operating System - OpenVMS
1745852
Members
4512
Online
108723
Solutions
Forums
Categories
Company
Local Language
юдл
back
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
юдл
back
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Blogs
Information
Community
Resources
Community Language
Language
Forums
Blogs
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО09-02-2007 08:43 PM
тАО09-02-2007 08:43 PM
DEC C RTL fstat(), stat(), open() and abc^.xyz.xml_res filename
The following C code out of the gnome.org's (libxml2 sources does not as it should on OpenVMS after I moved the multi dot containing files from PC to OpenVMS with FTP.
if (stat(filename, &buf) == -1)
it returns me a -1 indicating error when the filename as stored on ODS5 disk is passed as
"result/errors/attr1^.xml.err" where result is rooted system logical.
passing "result/errors/attr1.xml_res" works correctly. But I am sad to rename files because we have 1000's of it.
Which DECC$... logical do I have to enable or disable that the proper DEC C RTL routines are able to work correctly with multiple dot's in the filename and the extension?
Sepp Stadelmann
AXP1>cc/version
HP C V7.1-015 on OpenVMS Alpha V7.3-2
if (stat(filename, &buf) == -1)
it returns me a -1 indicating error when the filename as stored on ODS5 disk is passed as
"result/errors/attr1^.xml.err" where result is rooted system logical.
passing "result/errors/attr1.xml_res" works correctly. But I am sad to rename files because we have 1000's of it.
Which DECC$... logical do I have to enable or disable that the proper DEC C RTL routines are able to work correctly with multiple dot's in the filename and the extension?
Sepp Stadelmann
AXP1>cc/version
HP C V7.1-015 on OpenVMS Alpha V7.3-2
3 REPLIES 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО09-02-2007 09:18 PM
тАО09-02-2007 09:18 PM
Re: DEC C RTL fstat(), stat(), open() and abc^.xyz.xml_res filename
A list of all DECC-logicals con be found here:
http://h71000.www7.hp.com/doc/83final/5763/5763pro_004.html#feature_logical_tab
regards Kalle
http://h71000.www7.hp.com/doc/83final/5763/5763pro_004.html#feature_logical_tab
regards Kalle
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО09-02-2007 11:53 PM
тАО09-02-2007 11:53 PM
Re: DEC C RTL fstat(), stat(), open() and abc^.xyz.xml_res filename
I have found the problem!
Let me explain:
when you look first at an OpenVMS ODS5 disk using $ DIR, files with multi dots in the name and the extension are stored and presented as i.e.
DSA5:[xml.libxml2.result.errors]att1^.xml.err
please watch the carret preceding/escaping each dot but not the last one "^."
i.e. a $ copy att1.xml att1.xml.err generates the new file as att1^.xml.err
To gett proper UNIX support for such "^"'s from DECCRTL's $ Define DECC$EFS_CHARSET ENABLE and this should do the trick
However, files stored on the disk and displayed with the carret MUST NEVER BE PASSED AS ARGUMENTS WITH THE CARRET "^" to a DEC C RTL routione.
My code works now as such
if (stat(filename, &buf) == -1)
no longer returns -1 when I pass the filename as a UNIX file name with multiple dots; i.e. as "result/errors/attr1.xml.err"
an example in the reference manual could help.
But what prevented it from running before?
I did in addition $ define/sys/exec/trans=(conc,term) result dsa5:[xml.libxml2.result.]
and $ define/sys/exec/trans=(conc,term) test dsa5:[xml.libxml2.test.] where result and/or test becomes then a rooted logical and result and/or test is also found as a valid sub directory name and here, ***
NOW: I guess ***, not enabling one of the hundres of DECC$something logicals will force that a logical name translation comes first and makes the remaining UNIX support fail. I have just done $ deassigne/sys/exec test and result and passed the string with multi dost in tghe arguments.
thank you for our help
Sepp
Let me explain:
when you look first at an OpenVMS ODS5 disk using $ DIR, files with multi dots in the name and the extension are stored and presented as i.e.
DSA5:[xml.libxml2.result.errors]att1^.xml.err
please watch the carret preceding/escaping each dot but not the last one "^."
i.e. a $ copy att1.xml att1.xml.err generates the new file as att1^.xml.err
To gett proper UNIX support for such "^"'s from DECCRTL's $ Define DECC$EFS_CHARSET ENABLE and this should do the trick
However, files stored on the disk and displayed with the carret MUST NEVER BE PASSED AS ARGUMENTS WITH THE CARRET "^" to a DEC C RTL routione.
My code works now as such
if (stat(filename, &buf) == -1)
no longer returns -1 when I pass the filename as a UNIX file name with multiple dots; i.e. as "result/errors/attr1.xml.err"
an example in the reference manual could help.
But what prevented it from running before?
I did in addition $ define/sys/exec/trans=(conc,term) result dsa5:[xml.libxml2.result.]
and $ define/sys/exec/trans=(conc,term) test dsa5:[xml.libxml2.test.] where result and/or test becomes then a rooted logical and result and/or test is also found as a valid sub directory name and here, ***
NOW: I guess ***, not enabling one of the hundres of DECC$something logicals will force that a logical name translation comes first and makes the remaining UNIX support fail. I have just done $ deassigne/sys/exec test and result and passed the string with multi dost in tghe arguments.
thank you for our help
Sepp
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО09-04-2007 03:50 AM
тАО09-04-2007 03:50 AM
Re: DEC C RTL fstat(), stat(), open() and abc^.xyz.xml_res filename
Not really related to your specific problem, but if you're using a rooted logical, it seems to me you'd be wanting an absolute path in UNIX syntax,
/result/errors/whatever
rather than
result/errors/whatever
/result/errors/whatever
rather than
result/errors/whatever
The opinions expressed above are the personal opinions of the authors, not of Hewlett Packard Enterprise. By using this site, you accept the Terms of Use and Rules of Participation.
News and Events
Support
© Copyright 2024 Hewlett Packard Enterprise Development LP