Linux'ta dspcat gibi bir yardımcı program var mı?


9

AIX'te aşağıdaki dspcatkomutu kullanıyorum ve komutla oluşturulan ileti kataloglarını dökebilirim :gencat

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

Bu kataloglardan birinin Linux'a nasıl döküleceğine dair ipuçlarını aramak için iyi bir sağlam saat geçirdim, ancak bu komut mevcut görünmüyor. Herhangi bir yardım mutluluk duyacağız.


Ben de orada fazla görmüyorum. Misiniz stringskomut neye ihtiyacınız almak için yeterli olacak mı? Belki küçük bir işlem sonrası?
Sean Perry

dizeleri büyük olasılıkla kodlanmış ... bir shiftjis dize düzgün bir dizeli katalog dosyasından düşecek olup olmadığını tamamen emin değilim ... Bazı test deneyebilirsiniz.
ojblass

İçerik değerliyse, biçim muhtemelen mühendisliği tersine çevirmek için çok zor değildir.
Sean Perry

Yanıtlar:


3

Ben kaynak kodunu bulundu dspcat.c: http://www.smart.net/~rlhamil/ . Özellikle bu tarballda . Derleme denedim ve bir değişken eksik:

$ 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

Değişken NL_SETMAX, sistemimde tanımlanmış gibi görünmüyor. Bu başlık dosyasını bits/xopen_lim.hbuldum, bu değişken var mı bu yüzden bunu bir heves üstbilgiler listesine ekledi.

$ 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

Eğer daha fazla zamanım varsa bununla oynayacağım, ancak bu kodu doğrudan değişkenin içine yerleştirirseniz, bunu kendiniz derleyebilirsiniz.


Bu teşekkürler ile çalışabilirim +50
ojblass
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.