क्या लिनक्स पर dspcat जैसी उपयोगिता है?


9

मैं AIXdspcat पर निम्न कमांड का उपयोग करता हूं और कमांड के साथ बनाए गए संदेश कैटलॉग को डंप कर सकता हूं :gencat

dspcat –g  /u/is/bin/I18N/l/lib/libca/libcalifornia.117.cat >> /tmp/message.smc

मैंने लिनक्स पर इन कैटलॉग में से किसी एक को कैसे डंप किया जाए, इसके संकेत के लिए एक अच्छा ठोस घंटा बिताया है, लेकिन यह कमांड उपलब्ध नहीं है। किसी भी सहायता की सराहना की जाएगी।


मैं वहां ज्यादा बाहर नहीं देख रहा हूं। stringsक्या आपको जो चाहिए वह पाने के लिए कमांड पर्याप्त होगी? शायद थोड़ा पोस्ट प्रोसेसिंग के साथ?
सीन पेरी

तार संभवत: एन्कोडेड हैं ... मुझे पूरी तरह से यकीन नहीं है कि अगर शिफ्टजिस स्ट्रिंग एक कड़े कैटलॉग फ़ाइल से ठीक से बाहर हो जाएगी ... मैं कुछ परीक्षण की कोशिश कर सकता हूं।
ओब्ब्लास

यदि सामग्री मूल्यवान है, तो प्रारूप रिवर्स इंजीनियर के लिए बहुत कठिन नहीं है।
सीन पेरी

जवाबों:


3

मुझे इसके लिए स्रोत कोड मिला dspcat.c: http://www.smart.net/~rlhamil/ । विशेष रूप से इस टारबॉल में । मैंने इसे संकलित करने का प्रयास किया और एक चर याद कर रहा था:

$ make
cc -O -DSOLARIS    dspcat.c   -o dspcat
dspcat.c: In function ‘format_msg’:
dspcat.c:11:23: error: ‘NL_TEXTMAX’ undeclared (first use in this function)
    static char result[NL_TEXTMAX*2+1];
                       ^
dspcat.c:11:23: note: each undeclared identifier is reported only once for each function it appears in
dspcat.c: In function ‘print_file’:
dspcat.c:240:23: error: ‘NL_SETMAX’ undeclared (first use in this function)
    int setlo=1, sethi=NL_SETMAX, msglo=1, msghi=NL_MSGMAX, x, y;
                       ^
dspcat.c:240:49: error: ‘NL_MSGMAX’ undeclared (first use in this function)
    int setlo=1, sethi=NL_SETMAX, msglo=1, msghi=NL_MSGMAX, x, y;
                                                 ^
dspcat.c: In function ‘main’:
dspcat.c:338:30: error: ‘NL_MSGMAX’ undeclared (first use in this function)
       if (msg_nr<1 || msg_nr>NL_MSGMAX) {
                              ^
dspcat.c:353:32: error: ‘NL_SETMAX’ undeclared (first use in this function)
       if (msg_set<1 || msg_set>NL_SETMAX) {
                                ^
make: *** [dspcat] Error 1

चर NL_SETMAXमेरे सिस्टम पर परिभाषित नहीं होता है। मैंने इस हेडर फ़ाइल का पता लगाया, bits/xopen_lim.hजिसमें यह चर था इसलिए मैंने इसे हेडर की सूची में जोड़ दिया।

$ make
cc -O -DSOLARIS    dspcat.c   -o dspcat
dspcat.c: In function ‘format_msg’:
dspcat.c:11:33: warning: integer overflow in expression [-Woverflow]
    static char result[NL_TEXTMAX*2+1];
                                 ^
dspcat.c:11:16: error: size of array ‘result’ is negative
    static char result[NL_TEXTMAX*2+1];
                ^
dspcat.c:11:16: error: storage size of ‘result’ isn’t constant
dspcat.c:15:29: warning: integer overflow in expression [-Woverflow]
    for (x=0; x < (NL_TEXTMAX*2) && *s != '\0'; s++)
                             ^
make: *** [dspcat] Error 1

यदि मेरे पास अधिक समय है तो मैं इसके साथ खेलूंगा, लेकिन मेरा मानना ​​है कि यदि आपने उस कोड को सीधे कोड के भीतर सेट किया है तो आप खुद को संकलित कर सकते हैं।


मैं इस धन्यवाद के साथ +50
ojblass
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.