Implemented bbs view archive/textfile
This commit is contained in:
parent
cad87472f1
commit
b3b4b5dcb5
17
ChangeLog
17
ChangeLog
@ -7,6 +7,23 @@ $Id$
|
|||||||
|
|
||||||
v0.37.3 09-Apr-2003.
|
v0.37.3 09-Apr-2003.
|
||||||
|
|
||||||
|
upgrade:
|
||||||
|
Remove ~/etc/archiver.data, start mbsetup menu 3, leave and
|
||||||
|
save. This updates the archiver view contents commands.
|
||||||
|
|
||||||
|
mbsetup:
|
||||||
|
The edit archiver has now an edit line for the view archive
|
||||||
|
commands.
|
||||||
|
|
||||||
|
mbsebbs:
|
||||||
|
Fixed recognition of tar.gz files.
|
||||||
|
Added menu function display file.
|
||||||
|
Display ascii textfiles now uses the More Y/n/= prompt.
|
||||||
|
|
||||||
|
lang:
|
||||||
|
New language prompt number 17.
|
||||||
|
Erased language prompts 18..36.
|
||||||
|
|
||||||
|
|
||||||
v0.37.2 23-Feb-2003 - 09-Apr-2003
|
v0.37.2 23-Feb-2003 - 09-Apr-2003
|
||||||
|
|
||||||
|
4
TODO
4
TODO
@ -1,6 +1,6 @@
|
|||||||
$Id$
|
$Id$
|
||||||
|
|
||||||
MBSE BBS V0.37.01 TODO list.
|
MBSE BBS V0.37.03 TODO list.
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
These are a list of things that must be implemented one way or
|
These are a list of things that must be implemented one way or
|
||||||
@ -24,8 +24,6 @@ libdiesel.a:
|
|||||||
mbsebbs:
|
mbsebbs:
|
||||||
N: Implement session and time/day limits.
|
N: Implement session and time/day limits.
|
||||||
|
|
||||||
N: Display archives.
|
|
||||||
|
|
||||||
L: Better word wrapping or paragraph justification in editor.
|
L: Better word wrapping or paragraph justification in editor.
|
||||||
|
|
||||||
L: E-mail downloads with e-mail verification.
|
L: E-mail downloads with e-mail verification.
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
14 mail.c |You are not allowed to delete that message
|
14 mail.c |You are not allowed to delete that message
|
||||||
15 change.c |Offline Reader: Extended Info turned ON
|
15 change.c |Offline Reader: Extended Info turned ON
|
||||||
16 change.c |Offline Reader: Extended Info turned OFF
|
16 change.c |Offline Reader: Extended Info turned OFF
|
||||||
17 .c |
|
17 file.c |This is not a plain textfile.
|
||||||
18 .c |
|
18 .c |
|
||||||
19 .c |
|
19 .c |
|
||||||
20 .c |
|
20 .c |
|
||||||
@ -59,7 +59,7 @@
|
|||||||
58 newuser.c |Please enter the correct date format
|
58 newuser.c |Please enter the correct date format
|
||||||
59 chat.c |*** Sysop is starting chat ***
|
59 chat.c |*** Sysop is starting chat ***
|
||||||
60 chat.c |*** Sysop has terminated chat ***
|
60 chat.c |*** Sysop has terminated chat ***
|
||||||
61 mail.c misc.c YN=|More (Y/n/=)
|
61 mail.c misc.c file.c YN=|More (Y/n/=)
|
||||||
62 newuser.c YN|Would you like Hot-Keyed menus? [Y/n]:
|
62 newuser.c YN|Would you like Hot-Keyed menus? [Y/n]:
|
||||||
63 newuser.c |Please answer Y or N
|
63 newuser.c |Please answer Y or N
|
||||||
64 change.c |Please enter your Screen Length? [24]:
|
64 change.c |Please enter your Screen Length? [24]:
|
||||||
@ -84,27 +84,27 @@
|
|||||||
83 change.c |Please enter the correct date format
|
83 change.c |Please enter the correct date format
|
||||||
84 misc.c |Todays Callers to
|
84 misc.c |Todays Callers to
|
||||||
85 misc.c |# User Name Device TimeOn Calls Location
|
85 misc.c |# User Name Device TimeOn Calls Location
|
||||||
86 safe.c |Safe Cracker Door
|
86 .c |
|
||||||
87 safe.c |Please press a key to continue:
|
87 .c |
|
||||||
88 safe.c |In the safe lies ...
|
88 .c |
|
||||||
89 safe.c |Please enter three numbers consisting from 1 to
|
89 .c |
|
||||||
90 safe.c |Please enter three combinations.
|
90 .c |
|
||||||
91 safe.c |1st digit:
|
91 .c |
|
||||||
92 safe.c |Please try again! You must input a number greater than Zero and less than
|
92 .c |
|
||||||
93 safe.c |2nd digit:
|
93 .c |
|
||||||
94 safe.c |3rd digit:
|
94 .c |
|
||||||
95 safe.c | Left:
|
95 .c |
|
||||||
96 safe.c |Right:
|
96 .c |
|
||||||
97 safe.c YN|Attempt to open safe with this combination [Y/n]:
|
97 .c |
|
||||||
98 safe.c |You have won the following...
|
98 .c |
|
||||||
99 safe.c |Sorry - You didn't open the safe!
|
99 .c |
|
||||||
100 safe.c |The safe code was:
|
100 .c |
|
||||||
101 safe.c YN|Do you want to try again ? [Y/n]:
|
101 .c |
|
||||||
102 safe.c YN|Do you want to open the safe ? [Y/n]:
|
102 .c |
|
||||||
103 safe.c |THE SAFE IS CURRENTLY LOCKED
|
103 .c |
|
||||||
104 safe.c |has cracked the safe.
|
104 .c |
|
||||||
105 safe.c |The safe will remain locked until the sysop rewards the user.
|
105 .c |
|
||||||
106 safe.c |Maximum trys per day Exceeded!
|
106 .c |
|
||||||
107 signature.c |Edit message signature
|
107 signature.c |Edit message signature
|
||||||
108 .c |The FROM, TO and SUBJECT fields are optional.
|
108 .c |The FROM, TO and SUBJECT fields are optional.
|
||||||
109 .c | From:
|
109 .c | From:
|
||||||
@ -440,7 +440,7 @@
|
|||||||
439 offline.c |Offline Reader Upload
|
439 offline.c |Offline Reader Upload
|
||||||
440 offline.c |Invalid packet received
|
440 offline.c |Invalid packet received
|
||||||
441 offline.c |Unknown compression type
|
441 offline.c |Unknown compression type
|
||||||
442 offline.c |Archiver not available
|
442 offline.c file.c |Archiver not available
|
||||||
443 offline.c |Unknown type mailpacket
|
443 offline.c |Unknown type mailpacket
|
||||||
444 offline.c |BlueWave Offline download
|
444 offline.c |BlueWave Offline download
|
||||||
445 offline.c |Preparing packet
|
445 offline.c |Preparing packet
|
||||||
|
@ -15,26 +15,26 @@ HR|Exporteer naar (H)ome of (R)egels directory:
|
|||||||
|Je mag dit bericht niet verwijderen
|
|Je mag dit bericht niet verwijderen
|
||||||
|Offline Reader: Uitgebreide Informatie is nu AAN
|
|Offline Reader: Uitgebreide Informatie is nu AAN
|
||||||
|Offline Reader: Uitgebreide Informatie is nu UIT
|
|Offline Reader: Uitgebreide Informatie is nu UIT
|
||||||
|Tijd opgenomen vandaag
|
|Dit is geen normaal tekst bestand
|
||||||
|Bytes opgenomen vandaag
|
|
|
||||||
SOE|(S)torten, (O)pnemen, (E)inde:
|
|
|
||||||
|Bank >
|
|
|
||||||
TBE|(T)ijd, (B)ytes, (E)inde:
|
|
|
||||||
|U moet minstens 5 minuten tijd over hebben om te storten
|
|
|
||||||
|Hoeveel tijd. Aantal minuten beschikbaars is
|
|
|
||||||
|U heeft geprobeerd meer dan de dagelijkse limiet te storten.
|
|
|
||||||
|Maximaal aantal te storten minuten per dag:
|
|
|
||||||
|U heeft Uw rekening balans overschreden.
|
|
|
||||||
|Maximaal aantal minuten op de bankrekening is:
|
|
|
||||||
|U mag storten:
|
|
|
||||||
|U heeft geprobeerd meer dan de dagelijkse limiet op te nemen.
|
|
|
||||||
|Maximaal per dag op te nemen:
|
|
|
||||||
|U heeft geprobeert meer tijd op te nemen dan op de rekening staat.
|
|
|
||||||
|Huidige bank balans:
|
|
|
||||||
|Maximaal aantal kilobytes te storten per dag:
|
|
|
||||||
|U heeft Uw bank balans overschreden.
|
|
|
||||||
|Maximaal aantal kilobytes op de bankrekening is:
|
|
|
||||||
|Hoeveel kilobytes. Aantal Kilobytes beschikbaar is
|
|
|
||||||
|MBSE Bulletin Board Systeem - NIEUWE GEBRUIKER REGISTRATIE
|
|MBSE Bulletin Board Systeem - NIEUWE GEBRUIKER REGISTRATIE
|
||||||
|Gebruik deze naam:
|
|Gebruik deze naam:
|
||||||
|Geef een nieuw wachtwoord :
|
|Geef een nieuw wachtwoord :
|
||||||
|
@ -15,26 +15,26 @@ HR|Export to (H)ome or (R)ules directory:
|
|||||||
|You are not allowed to delete that message
|
|You are not allowed to delete that message
|
||||||
|Offline Reader: Extended Info turned ON
|
|Offline Reader: Extended Info turned ON
|
||||||
|Offline Reader: Extended Info turned OFF
|
|Offline Reader: Extended Info turned OFF
|
||||||
|Time withdrawn today
|
|This is not a plain textfile.
|
||||||
|Bytes withdrawn today
|
|
|
||||||
DWQ|(D)eposit, (W)ithdraw, (Q)uit:
|
|
|
||||||
|Bank >
|
|
|
||||||
TBQ|(T)ime, (B)ytes, (Q)uit :
|
|
|
||||||
|You must have at least 5 minutes remaining to deposit
|
|
|
||||||
|How much time. Minutes available to you is
|
|
|
||||||
|You have tried to deposit more than the maximum limit today.
|
|
|
||||||
|Maximum allowed minutes to deposit per day:
|
|
|
||||||
|You have exeeded your account balance.
|
|
|
||||||
|Maximum allowable minutes in bank account is:
|
|
|
||||||
|You are allowed to deposit:
|
|
|
||||||
|You have tried to withdraw more than the maximum limit today.
|
|
|
||||||
|Maximum allowed to withdraw per day:
|
|
|
||||||
|You have tried to withdraw more time than is in your bank account.
|
|
|
||||||
|Current bank balance:
|
|
|
||||||
|Maximum allowed kilobytes to deposit per day:
|
|
|
||||||
|You have exeeded your account balance.
|
|
|
||||||
|Maximum allowable kilobytes in bank account is:
|
|
|
||||||
|How many kilobytes. KBytes available to you is
|
|
|
||||||
|MBSE Bulletin Board System - NEW USER REGISTRATION
|
|MBSE Bulletin Board System - NEW USER REGISTRATION
|
||||||
|Use this name:
|
|Use this name:
|
||||||
|Please enter new password :
|
|Please enter new password :
|
||||||
|
@ -15,26 +15,26 @@ HR|Exportar
|
|||||||
|No podes borrar esta mensaxe.
|
|No podes borrar esta mensaxe.
|
||||||
|Lector Offline: Informaci¢n extendida ACTIVADA
|
|Lector Offline: Informaci¢n extendida ACTIVADA
|
||||||
|Lector Offline: Informaci¢n extendida DESACTIVADA
|
|Lector Offline: Informaci¢n extendida DESACTIVADA
|
||||||
|Tempo retirado hoxe :
|
|This is not a plain textfile.
|
||||||
|Bytes retirados hoxe :
|
|
|
||||||
DRS|(D)epositar, (R)etirar, (S)air :
|
|
|
||||||
|Banco >
|
|
|
||||||
TBS|(T)empo, (B)ytes, (S)air :
|
|
|
||||||
|Debes ter polo menos 5 minutos para poder depositar
|
|
|
||||||
|¨Canto tempo?. Dispo¤ible en minutos :
|
|
|
||||||
|Tentaches depositar m is do m ximo permitido para hoxe.
|
|
|
||||||
|M ximo tempo diario que se pode depositar:
|
|
|
||||||
|Excedeche-lo saldo da tua conta.
|
|
|
||||||
|Minutos dispo¤ibles na tua conta :
|
|
|
||||||
|Perm¡techese depositar:
|
|
|
||||||
|Tentaches retirar m is do l¡mite m ximo diario.
|
|
|
||||||
|M ximo permitido diario para retirar:
|
|
|
||||||
|Tentaches retirar m is tempo do que tes na tua conta.
|
|
|
||||||
|O saldo da tua conta ‚ :
|
|
|
||||||
|M ximo de Kb que se permite depositar diariamente:
|
|
|
||||||
|Excedeche-lo saldo da tua conta.
|
|
|
||||||
|Kilobytes dispo¤ible na tua conta :
|
|
|
||||||
|¨Cantos kilobytes. Podes dispo¤er de
|
|
|
||||||
|MBSE BBS - REXISTRO DE NOVO USUARIO
|
|MBSE BBS - REXISTRO DE NOVO USUARIO
|
||||||
|Use este nome:
|
|Use este nome:
|
||||||
|Por favor teclee o novo password :
|
|Por favor teclee o novo password :
|
||||||
|
@ -15,26 +15,26 @@ HR|Export in (H)ome oder (R)ules Direktorie:
|
|||||||
|Keine Berechtigung zum loeschen der Message
|
|Keine Berechtigung zum loeschen der Message
|
||||||
|Offline Reader: Extended Info turned ON
|
|Offline Reader: Extended Info turned ON
|
||||||
|Offline Reader: Extended Info turned OFF
|
|Offline Reader: Extended Info turned OFF
|
||||||
|Heute abgehobene Zeit . . . . . . :
|
|This is not a plain textfile.
|
||||||
|Heute abgehobene KBytes . . . . . :
|
|
|
||||||
SAE|(S)paren, (A)bheben, (E)nde:
|
|
|
||||||
|Bank >
|
|
|
||||||
ZKE|(Z)eit, (K)Bytes, (E)nde :
|
|
|
||||||
|Zum Sparen muessen Sie mindestens 5 Minuten uebrig haben
|
|
|
||||||
|Wieviel Zeit? Verfuegbare Minuten fuer Sie:
|
|
|
||||||
|Sie versuchten mehr als das maximale Limit fuer heute zu sparen.
|
|
|
||||||
|Maximal zu sparende Minuten pro Tag:
|
|
|
||||||
|Sie haben Ihr Konto ueberzogen.
|
|
|
||||||
|Die maximal verfuegbaren Minuten auf dem Konto sind:
|
|
|
||||||
|Sie koennen sparen:
|
|
|
||||||
|Sie versuchten mehr als das maximale Limit fuer heute abzuheben.
|
|
|
||||||
|Maximum pro Tag abzuheben:
|
|
|
||||||
|Sie versuchten Ihr Zeitkonto zu ueberziehen.
|
|
|
||||||
|Aktueller Kontostand:
|
|
|
||||||
|Maximal zu sparende Kilobytes pro Tag:
|
|
|
||||||
|Sie haben Ihr Konto ueberzogen.
|
|
|
||||||
|Die maximal verfuegbaren Kilobytes auf dem Konto sind:
|
|
|
||||||
|Wieviele Kilobytes? Verfuegbare KBytes fuer Sie sind:
|
|
|
||||||
|MBSE Bulletin Board System - Anlegen eines neuen Benutzerkontos
|
|MBSE Bulletin Board System - Anlegen eines neuen Benutzerkontos
|
||||||
|Diesen Namen verwenden:
|
|Diesen Namen verwenden:
|
||||||
|Bitte das neue Passwort eingeben :
|
|Bitte das neue Passwort eingeben :
|
||||||
|
@ -15,26 +15,26 @@ HR|Export to (H)ome or (R)ules directory:
|
|||||||
|You are not allowed to delete that message
|
|You are not allowed to delete that message
|
||||||
|Offline Reader: Extended Info turned ON
|
|Offline Reader: Extended Info turned ON
|
||||||
|Offline Reader: Extended Info turned OFF
|
|Offline Reader: Extended Info turned OFF
|
||||||
|Tempo prelevato oggi :
|
|This is not a plain textfile.
|
||||||
|Byte prelevati oggi :
|
|
|
||||||
DPE|(D)eposita, (P)releva, (E)sci:
|
|
|
||||||
|Banca >
|
|
|
||||||
TBE|(T)empo, (B)yte, (E)sci :
|
|
|
||||||
|Devi avere almeno 5 minuti restanti per poter depositare
|
|
|
||||||
|Scegli la quantita di tempo. Hai a disposizione minuti
|
|
|
||||||
|Hai cercato di depositare piu del limite massimo oggi.
|
|
|
||||||
|Massimo numero di minuti che puoi depositare ogni giorno:
|
|
|
||||||
|Hai superato il limite per il tuo account.
|
|
|
||||||
|Massimo numero di minuti disponibili nel tuo account:
|
|
|
||||||
|Puoi depositare:
|
|
|
||||||
|Hai cercato di prelevare piu del limite massimo oggi.
|
|
|
||||||
|Massimo numero di minuti che puoi prelevare ogni giorno:
|
|
|
||||||
|You have tried to withdraw more time than is in your bank account.
|
|
|
||||||
|Stato attuale del tuo account:
|
|
|
||||||
|Numero massimo di KB che puoi depositare ogni giorno:
|
|
|
||||||
|Hai superato il limite per il tuo account.
|
|
|
||||||
|Numero massimo di KB che puoi tenere nel tuo account:
|
|
|
||||||
|Scegli la quantita di KB. KB disponibili:
|
|
|
||||||
|MBSE Bulletin Board System - REGISTRAZIONE DEI NUOVI UTENTI
|
|MBSE Bulletin Board System - REGISTRAZIONE DEI NUOVI UTENTI
|
||||||
|Usa questo nome:
|
|Usa questo nome:
|
||||||
|Inserisci una nuova password:
|
|Inserisci una nuova password:
|
||||||
|
@ -15,26 +15,26 @@ PR|Exportar al directorio (P)ersonal o de (R)eglas:
|
|||||||
|No puedes borrar este Mensaje.
|
|No puedes borrar este Mensaje.
|
||||||
|Lector Offline: Informaci¢n extendida ACTIVADA
|
|Lector Offline: Informaci¢n extendida ACTIVADA
|
||||||
|Lector Offline: Informaci¢n extendida DESACTIVADA
|
|Lector Offline: Informaci¢n extendida DESACTIVADA
|
||||||
|Tiempo retirado hoy :
|
|This is not a plain textfile.
|
||||||
|Bytes retirados hoy :
|
|
|
||||||
DRS|(D)epositar, (R)etirar, (S)alir :
|
|
|
||||||
|Banco >
|
|
|
||||||
TBS|(T)iempo, (B)ytes, (S)alir :
|
|
|
||||||
|Debes tener al menos 5 minutos para poder depositar
|
|
|
||||||
|¨Cuanto tiempo?. Disponible en minutos :
|
|
|
||||||
|Has intentado depositar mas del m ximo permitido para hoy.
|
|
|
||||||
|M ximo tiempo diario que se puede depositar:
|
|
|
||||||
|Has excedido el saldo de tu cuenta.
|
|
|
||||||
|Minutos disponibles en tu cuenta :
|
|
|
||||||
|Se te permite depositar:
|
|
|
||||||
|Has intentado retirar m s del l¡mite m ximo diario.
|
|
|
||||||
|M ximo permitido diario para retirar:
|
|
|
||||||
|Has intentado retirar m s tiempo del que tienes en tu cuenta.
|
|
|
||||||
|El saldo de tu cuenta es :
|
|
|
||||||
|M ximo de Kb permitido depositar diariamente:
|
|
|
||||||
|Has excedido el saldo de tu cuenta.
|
|
|
||||||
|Kilobytes disponible en tu cuenta :
|
|
|
||||||
|¨Cuantos kilobytes. Dispones de
|
|
|
||||||
|MBSEBBS - REGISTRO DE NUEVO USUARIO
|
|MBSEBBS - REGISTRO DE NUEVO USUARIO
|
||||||
|Use este nombre:
|
|Use este nombre:
|
||||||
|Por favor teclee el nuevo password :
|
|Por favor teclee el nuevo password :
|
||||||
|
@ -8,7 +8,7 @@ CLCOMM_SRCS = clcomm.c client.c crc.c semafore.c signame.c
|
|||||||
CLCOMM_OBJS = clcomm.o client.o crc.o semafore.o signame.o
|
CLCOMM_OBJS = clcomm.o client.o crc.o semafore.o signame.o
|
||||||
CLCOMM_HDRS = clcomm.h
|
CLCOMM_HDRS = clcomm.h
|
||||||
COMMON_SRCS = attach.c falists.c hdr.c parsedate.c rfcmsg.c unpacker.c \
|
COMMON_SRCS = attach.c falists.c hdr.c parsedate.c rfcmsg.c unpacker.c \
|
||||||
batchrd.c charset.c ftn.c pktname.c mangle.c sectest.c \
|
batchrd.c ftn.c pktname.c mangle.c sectest.c \
|
||||||
dostran.c ftnmsg.c mbfile.c nodelock.c rawio.c strcasestr.c \
|
dostran.c ftnmsg.c mbfile.c nodelock.c rawio.c strcasestr.c \
|
||||||
execute.c expipe.c getheader.c noderecord.c rfcaddr.c strutil.c \
|
execute.c expipe.c getheader.c noderecord.c rfcaddr.c strutil.c \
|
||||||
faddr.c gmtoffset.c packet.c rfcdate.c term.c endian.c
|
faddr.c gmtoffset.c packet.c rfcdate.c term.c endian.c
|
||||||
@ -136,7 +136,6 @@ parsedate.o: ../config.h libs.h memwatch.h structs.h common.h
|
|||||||
rfcmsg.o: ../config.h libs.h memwatch.h structs.h users.h records.h common.h clcomm.h
|
rfcmsg.o: ../config.h libs.h memwatch.h structs.h users.h records.h common.h clcomm.h
|
||||||
unpacker.o: ../config.h libs.h memwatch.h structs.h users.h records.h clcomm.h common.h
|
unpacker.o: ../config.h libs.h memwatch.h structs.h users.h records.h clcomm.h common.h
|
||||||
batchrd.o: ../config.h libs.h memwatch.h structs.h clcomm.h common.h
|
batchrd.o: ../config.h libs.h memwatch.h structs.h clcomm.h common.h
|
||||||
charset.o:
|
|
||||||
ftn.o: ../config.h libs.h memwatch.h structs.h users.h records.h clcomm.h dbftn.h common.h
|
ftn.o: ../config.h libs.h memwatch.h structs.h users.h records.h clcomm.h dbftn.h common.h
|
||||||
pktname.o: ../config.h libs.h memwatch.h structs.h users.h records.h clcomm.h common.h
|
pktname.o: ../config.h libs.h memwatch.h structs.h users.h records.h clcomm.h common.h
|
||||||
mangle.o: ../config.h libs.h memwatch.h structs.h clcomm.h common.h
|
mangle.o: ../config.h libs.h memwatch.h structs.h clcomm.h common.h
|
||||||
|
@ -1008,6 +1008,7 @@ struct _archiver {
|
|||||||
char funarc[65]; /* Unarc files */
|
char funarc[65]; /* Unarc files */
|
||||||
char munarc[65]; /* Unarc mail */
|
char munarc[65]; /* Unarc mail */
|
||||||
char iunarc[65]; /* Unarc FILE_ID.DIZ */
|
char iunarc[65]; /* Unarc FILE_ID.DIZ */
|
||||||
|
char varc[65]; /* View archive */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ pop3.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs
|
|||||||
lastcallers.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h input.h language.h lastcallers.h
|
lastcallers.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h input.h language.h lastcallers.h
|
||||||
timeout.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/msg.h timeout.h funcs.h bye.h filesub.h language.h
|
timeout.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/msg.h timeout.h funcs.h bye.h filesub.h language.h
|
||||||
chat.o: ../config.h ../lib/libs.h ../lib/ansi.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/mberrors.h chat.h funcs.h input.h language.h misc.h whoson.h
|
chat.o: ../config.h ../lib/libs.h ../lib/ansi.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/mberrors.h chat.h funcs.h input.h language.h misc.h whoson.h
|
||||||
file.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h filesub.h file.h funcs.h input.h language.h misc.h timeout.h exitinfo.h whoson.h change.h
|
file.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h filesub.h file.h funcs.h input.h language.h misc.h timeout.h exitinfo.h whoson.h change.h dispfile.h
|
||||||
mbstat.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/dbcfg.h ../lib/mberrors.h mbstat.h
|
mbstat.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/dbcfg.h ../lib/mberrors.h mbstat.h
|
||||||
misc.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h ../lib/mberrors.h funcs.h input.h language.h misc.h timeout.h exitinfo.h
|
misc.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h ../lib/mberrors.h funcs.h input.h language.h misc.h timeout.h exitinfo.h
|
||||||
offline.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/structs.h ../lib/mbse.h ../lib/users.h ../lib/records.h ../lib/bluewave.h ../lib/common.h ../lib/clcomm.h ../lib/msgtext.h ../lib/msg.h mail.h funcs.h input.h language.h file.h filesub.h exitinfo.h timeout.h msgutil.h pop3.h offline.h whoson.h
|
offline.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/structs.h ../lib/mbse.h ../lib/users.h ../lib/records.h ../lib/bluewave.h ../lib/common.h ../lib/clcomm.h ../lib/msgtext.h ../lib/msg.h mail.h funcs.h input.h language.h file.h filesub.h exitinfo.h timeout.h msgutil.h pop3.h offline.h whoson.h
|
||||||
@ -165,7 +165,7 @@ mbnewusr.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/str
|
|||||||
input.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h ../lib/mberrors.h input.h timeout.h language.h
|
input.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h ../lib/mberrors.h input.h timeout.h language.h
|
||||||
whoson.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h input.h language.h exitinfo.h whoson.h
|
whoson.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h input.h language.h exitinfo.h whoson.h
|
||||||
door.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/mberrors.h input.h timeout.h exitinfo.h whoson.h door.h
|
door.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/mberrors.h input.h timeout.h exitinfo.h whoson.h door.h
|
||||||
dispfile.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/msgtext.h ../lib/msg.h ../lib/clcomm.h funcs.h language.h oneline.h misc.h timeout.h timecheck.h exitinfo.h mail.h email.h input.h dispfile.h
|
dispfile.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/msgtext.h ../lib/msg.h ../lib/clcomm.h funcs.h language.h oneline.h misc.h timeout.h timecheck.h exitinfo.h mail.h email.h input.h dispfile.h filesub.h
|
||||||
userlist.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h userlist.h language.h input.h timeout.h
|
userlist.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h userlist.h language.h input.h timeout.h
|
||||||
timestats.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h timestats.h funcs.h language.h input.h exitinfo.h
|
timestats.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h timestats.h funcs.h language.h input.h exitinfo.h
|
||||||
logentry.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h logentry.h
|
logentry.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h logentry.h
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Display ANSI/ASCII textfiles
|
* Purpose ...............: Display ANSI/ASCII textfiles
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2002
|
* Copyright (C) 1997-2003
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -50,7 +50,7 @@
|
|||||||
#include "email.h"
|
#include "email.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
#include "dispfile.h"
|
#include "dispfile.h"
|
||||||
|
#include "filesub.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -162,7 +162,7 @@ int DisplayTextFile(char *filename)
|
|||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char *buf;
|
char *buf;
|
||||||
int i, x, c, lc = 0;
|
int i, x, c, z, lc = 0;
|
||||||
|
|
||||||
if ((fp = fopen(filename, "r")) == NULL) {
|
if ((fp = fopen(filename, "r")) == NULL) {
|
||||||
WriteError("$DisplayTextFile(%s) failed");
|
WriteError("$DisplayTextFile(%s) failed");
|
||||||
@ -186,9 +186,26 @@ int DisplayTextFile(char *filename)
|
|||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
lc++;
|
lc++;
|
||||||
|
|
||||||
if (lc == exitinfo.iScreenLen) {
|
if ((lc >= exitinfo.iScreenLen) && (lc < 1000)) {
|
||||||
Pause();
|
|
||||||
lc = 0;
|
lc = 0;
|
||||||
|
/* More (Y/n/=) */
|
||||||
|
pout(CFG.MoreF, CFG.MoreB, (char *) Language(61));
|
||||||
|
fflush(stdout);
|
||||||
|
alarm_on();
|
||||||
|
z = toupper(Getone());
|
||||||
|
|
||||||
|
if (z == Keystroke(61, 1)) {
|
||||||
|
printf("\n");
|
||||||
|
fflush(stdout);
|
||||||
|
fclose(fp);
|
||||||
|
free(buf);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (z == Keystroke(61, 2))
|
||||||
|
lc = 50000;
|
||||||
|
|
||||||
|
Blanker(strlen(Language(61)));
|
||||||
colour(CFG.TextColourF, CFG.TextColourB);
|
colour(CFG.TextColourF, CFG.TextColourB);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -198,7 +215,7 @@ int DisplayTextFile(char *filename)
|
|||||||
|
|
||||||
Enter(1);
|
Enter(1);
|
||||||
/* Press ENTER to continue */
|
/* Press ENTER to continue */
|
||||||
language(LIGHTMAGENTA, BLACK, 436);
|
language(CFG.MoreF, CFG.MoreB, 436);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
fflush(stdin);
|
fflush(stdin);
|
||||||
alarm_on();
|
alarm_on();
|
||||||
@ -216,129 +233,121 @@ int DisplayTextFile(char *filename)
|
|||||||
*/
|
*/
|
||||||
int DisplayFile(char *filename)
|
int DisplayFile(char *filename)
|
||||||
{
|
{
|
||||||
FILE *pFileName;
|
FILE *pFileName;
|
||||||
long iSec = 0;
|
long iSec = 0;
|
||||||
char *sFileName, *tmp, *tmp1;
|
char *sFileName, *tmp, *tmp1, newfile[PATH_MAX];
|
||||||
char newfile[PATH_MAX];
|
int i, x;
|
||||||
int i, x;
|
|
||||||
|
|
||||||
sFileName = calloc(16385, sizeof(char));
|
sFileName = calloc(16385, sizeof(char));
|
||||||
tmp = calloc(PATH_MAX, sizeof(char));
|
tmp = calloc(PATH_MAX, sizeof(char));
|
||||||
tmp1 = calloc(PATH_MAX, sizeof(char));
|
tmp1 = calloc(PATH_MAX, sizeof(char));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Open the file in the following search order:
|
* Open the file in the following search order:
|
||||||
* 1 - if GraphMode -> users language .ans
|
* 1 - if GraphMode -> users language .ans
|
||||||
* 2 - if GraphMode -> default language .ans
|
* 2 - if GraphMode -> default language .ans
|
||||||
* 3 - users language .asc
|
* 3 - users language .asc
|
||||||
* 4 - default language .asc
|
* 4 - default language .asc
|
||||||
* 5 - Abort, there is no file to show.
|
* 5 - Abort, there is no file to show.
|
||||||
*/
|
*/
|
||||||
pFileName = NULL;
|
pFileName = NULL;
|
||||||
if (exitinfo.GraphMode) {
|
if (exitinfo.GraphMode) {
|
||||||
sprintf(newfile, "%s/%s.ans", lang.TextPath, filename);
|
sprintf(newfile, "%s/%s.ans", lang.TextPath, filename);
|
||||||
if ((pFileName = fopen(newfile, "rb")) == NULL) {
|
if ((pFileName = fopen(newfile, "rb")) == NULL) {
|
||||||
sprintf(newfile, "%s/%s.ans", CFG.bbs_txtfiles, filename);
|
sprintf(newfile, "%s/%s.ans", CFG.bbs_txtfiles, filename);
|
||||||
pFileName = fopen(newfile, "rb");
|
pFileName = fopen(newfile, "rb");
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (pFileName == NULL) {
|
}
|
||||||
sprintf(newfile, "%s/%s.asc", lang.TextPath, filename);
|
if (pFileName == NULL) {
|
||||||
if ((pFileName = fopen(newfile, "rb")) == NULL) {
|
sprintf(newfile, "%s/%s.asc", lang.TextPath, filename);
|
||||||
sprintf(newfile, "%s/%s.asc", CFG.bbs_txtfiles, filename);
|
if ((pFileName = fopen(newfile, "rb")) == NULL) {
|
||||||
if ((pFileName = fopen(newfile, "rb")) == NULL) {
|
sprintf(newfile, "%s/%s.asc", CFG.bbs_txtfiles, filename);
|
||||||
free(sFileName);
|
if ((pFileName = fopen(newfile, "rb")) == NULL) {
|
||||||
free(tmp);
|
free(sFileName);
|
||||||
free(tmp1);
|
free(tmp);
|
||||||
return FALSE;
|
free(tmp1);
|
||||||
}
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Syslog('B', "Displayfile %s", newfile);
|
Syslog('B', "Displayfile %s", newfile);
|
||||||
|
|
||||||
while (!feof(pFileName)) {
|
while (!feof(pFileName)) {
|
||||||
i = fread(sFileName, sizeof(char), 16384, pFileName);
|
i = fread(sFileName, sizeof(char), 16384, pFileName);
|
||||||
|
|
||||||
for(x = 0; x < i; x++) {
|
for (x = 0; x < i; x++) {
|
||||||
switch(*(sFileName + x)) {
|
switch(*(sFileName + x)) {
|
||||||
case '':
|
case '': ControlCodeU(sFileName[++x]);
|
||||||
ControlCodeU(sFileName[++x]);
|
break;
|
||||||
break;
|
|
||||||
|
|
||||||
case '':
|
case '': ControlCodeF(sFileName[++x]);
|
||||||
ControlCodeF(sFileName[++x]);
|
break;
|
||||||
break;
|
|
||||||
|
|
||||||
case '':
|
case '': ControlCodeK(sFileName[++x]);
|
||||||
ControlCodeK(sFileName[++x]);
|
break;
|
||||||
break;
|
|
||||||
|
|
||||||
case '':
|
case '': fflush(stdout);
|
||||||
fflush(stdout);
|
fflush(stdin);
|
||||||
fflush(stdin);
|
alarm_on();
|
||||||
alarm_on();
|
Getone();
|
||||||
Getone();
|
break;
|
||||||
break;
|
|
||||||
|
|
||||||
case '':
|
case '': /*
|
||||||
/*
|
* This code will allow you to specify a security level
|
||||||
* This code will allow you to specify a security level
|
* in front of the text, ie ^B32000^Bthis is a test^B
|
||||||
* in front of the text, ie ^B32000^Bthis is a test^B
|
* will print this is a test only if you have security
|
||||||
* will print this is a test only if you have security
|
* above 32000. Only one set of control chars per line.
|
||||||
* above 32000. Only one set of control chars per line.
|
* You cannot have multiple securitys etc
|
||||||
* You cannot have multiple securitys etc
|
*/
|
||||||
*/
|
x++;
|
||||||
x++;
|
strcpy(tmp1, "");
|
||||||
strcpy(tmp1, "");
|
while (*(sFileName + x) != '') {
|
||||||
while (*(sFileName + x) != '') {
|
sprintf(tmp, "%c", *(sFileName + x));
|
||||||
sprintf(tmp, "%c", *(sFileName + x));
|
strcat(tmp1, tmp);
|
||||||
strcat(tmp1, tmp);
|
x++;
|
||||||
x++;
|
}
|
||||||
}
|
x++;
|
||||||
x++;
|
iSec = atoi(tmp1);
|
||||||
iSec = atoi(tmp1);
|
while ((x <= i) && (*(sFileName + x) != '')) {
|
||||||
while ((x <= i) && (*(sFileName + x) != '')) {
|
if (exitinfo.Security.level >= iSec)
|
||||||
if (exitinfo.Security.level >= iSec)
|
printf("%c", *(sFileName + x));
|
||||||
printf("%c", *(sFileName + x));
|
x++;
|
||||||
x++;
|
}
|
||||||
}
|
break;
|
||||||
break;
|
|
||||||
|
|
||||||
case '':
|
case '': fflush(stdout);
|
||||||
fflush(stdout);
|
sleep(1);
|
||||||
sleep(1);
|
break;
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default: printf("%c", *(sFileName + x));
|
||||||
printf("%c", *(sFileName + x));
|
|
||||||
|
|
||||||
} /* switch */
|
} /* switch */
|
||||||
} /* for */
|
} /* for */
|
||||||
} /* while !eof */
|
} /* while !eof */
|
||||||
|
|
||||||
fclose(pFileName);
|
fclose(pFileName);
|
||||||
free(sFileName);
|
free(sFileName);
|
||||||
free(tmp);
|
free(tmp);
|
||||||
free(tmp1);
|
free(tmp1);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DisplayFileEnter(char *File)
|
int DisplayFileEnter(char *File)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
rc = DisplayFile(File);
|
rc = DisplayFile(File);
|
||||||
Enter(1);
|
Enter(1);
|
||||||
/* Press ENTER to continue */
|
/* Press ENTER to continue */
|
||||||
language(13, 0, 436);
|
language(13, 0, 436);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
fflush(stdin);
|
fflush(stdin);
|
||||||
alarm_on();
|
alarm_on();
|
||||||
Getone();
|
Getone();
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
162
mbsebbs/file.c
162
mbsebbs/file.c
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: All the file functions.
|
* Purpose ...............: All the file functions.
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2002
|
* Copyright (C) 1997-2003
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -47,6 +47,7 @@
|
|||||||
#include "exitinfo.h"
|
#include "exitinfo.h"
|
||||||
#include "whoson.h"
|
#include "whoson.h"
|
||||||
#include "change.h"
|
#include "change.h"
|
||||||
|
#include "dispfile.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -2214,9 +2215,166 @@ void EditTaglist()
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* View a file in the current area, menu 103.
|
* View a file in the current area, menu 103.
|
||||||
|
* If a file name is given, display direct,
|
||||||
|
* else ask for filename to view.
|
||||||
*/
|
*/
|
||||||
void ViewFile()
|
void ViewFile(char *name)
|
||||||
{
|
{
|
||||||
|
char *File, *temp, *arc;
|
||||||
|
int count, total, rc, found = FALSE;
|
||||||
|
FILE *fp, *pFile;
|
||||||
|
|
||||||
|
Syslog('+', "ViewFile(%s)", printable(name, 0));
|
||||||
|
|
||||||
|
if (Access(exitinfo.Security, area.LTSec) == FALSE) {
|
||||||
|
colour(YELLOW, BLACK);
|
||||||
|
/* You don't have enough security to list this area */
|
||||||
|
printf("\n%s\n", (char *) Language(236));
|
||||||
|
Pause();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
File = calloc(PATH_MAX, sizeof(char));
|
||||||
|
|
||||||
|
if ((name != NULL) && strlen(name)) {
|
||||||
|
strcpy(File, name);
|
||||||
|
} else {
|
||||||
|
Enter(2);
|
||||||
|
/* Please enter filename: */
|
||||||
|
pout(YELLOW, BLACK, (char *) Language(245));
|
||||||
|
colour(CFG.InputColourF, CFG.InputColourB);
|
||||||
|
GetstrC(File, 80);
|
||||||
|
|
||||||
|
if ((strcmp(File, "")) == 0) {
|
||||||
|
free(File);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (*(File) == '.' || *(File) == '*' || *(File) == ' ' || *(File) == '/') {
|
||||||
|
colour(CFG.HiliteF, CFG.HiliteB);
|
||||||
|
/* Illegal Filename! */
|
||||||
|
printf("\n%s\n\n", (char *) Language(247));
|
||||||
|
Pause();
|
||||||
|
free(File);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Strlen = strlen(File);
|
||||||
|
Strlen--;
|
||||||
|
|
||||||
|
if (*(File + Strlen) == '.' || *(File + Strlen) == '/' || *(File + Strlen) == ' ') {
|
||||||
|
colour(CFG.HiliteF, CFG.HiliteB);
|
||||||
|
/* Illegal Filename! */
|
||||||
|
printf("\n%s\n\n", (char *) Language(247));
|
||||||
|
Pause();
|
||||||
|
free(File);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((!strcmp(File, "files.bbs")) || (!strcmp(File, "00index")) || (strstr(File, (char *)".html"))) {
|
||||||
|
colour(CFG.HiliteF, CFG.HiliteB);
|
||||||
|
/* Illegal Filename! */
|
||||||
|
printf("\n%s\n\n", (char *) Language(247));
|
||||||
|
Pause();
|
||||||
|
free(File);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Now check if this file is present
|
||||||
|
*/
|
||||||
|
if ((pFile = OpenFileBase(iAreaNumber, FALSE)) == NULL) {
|
||||||
|
free(File);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (fread(&file, sizeof(file), 1, pFile) == 1) {
|
||||||
|
if (((strcasecmp(File, file.Name) == 0) || (strcasecmp(File, file.LName) == 0)) && (!file.Deleted) && (!file.Missing)) {
|
||||||
|
found = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose(pFile);
|
||||||
|
|
||||||
|
if (!found) {
|
||||||
|
colour(YELLOW, BLACK);
|
||||||
|
/* File does not exist, please try again ... */
|
||||||
|
printf("\n%s\n\n", (char *) Language(296));
|
||||||
|
free(File);
|
||||||
|
Pause();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
sprintf(File, "%s/%s", sAreaPath, file.LName);
|
||||||
|
arc = GetFileType(File);
|
||||||
|
Syslog('+', "File to view: %s, type %s", file.LName, printable(arc, 0));
|
||||||
|
|
||||||
|
if (arc != NULL) {
|
||||||
|
found = FALSE;
|
||||||
|
temp = calloc(PATH_MAX, sizeof(char));
|
||||||
|
sprintf(temp, "%s/etc/archiver.data", getenv("MBSE_ROOT"));
|
||||||
|
|
||||||
|
if ((fp = fopen(temp, "r")) != NULL) {
|
||||||
|
fread(&archiverhdr, sizeof(archiverhdr), 1, fp);
|
||||||
|
while (fread(&archiver, archiverhdr.recsize, 1, fp) == 1) {
|
||||||
|
if ((strcmp(arc, archiver.name) == 0) && (archiver.available)) {
|
||||||
|
found = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!found || (strlen(archiver.varc) == 0)) {
|
||||||
|
Syslog('+', "No archiver view for %s available", File);
|
||||||
|
colour(YELLOW, BLACK);
|
||||||
|
/* Archiver not available */
|
||||||
|
printf("\n%s\n\n", Language(442));
|
||||||
|
free(File);
|
||||||
|
free(temp);
|
||||||
|
Pause();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Archiver viewer is available. Make a temp file which we will
|
||||||
|
* display to the user.
|
||||||
|
*/
|
||||||
|
sprintf(temp, "%s/%s/temptxt", CFG.bbs_usersdir, exitinfo.Name);
|
||||||
|
rc = execute(archiver.varc, File, NULL, (char *)"/dev/null", temp, (char *)"/dev/null");
|
||||||
|
Syslog('+', "Display temp file %s", temp);
|
||||||
|
DisplayTextFile(temp);
|
||||||
|
unlink(temp);
|
||||||
|
free(temp);
|
||||||
|
} else {
|
||||||
|
/*
|
||||||
|
* Most likely a textfile, first check.
|
||||||
|
*/
|
||||||
|
total = count = 0;
|
||||||
|
if ((fp = fopen(File, "r"))) {
|
||||||
|
while (TRUE) {
|
||||||
|
rc = fgetc(fp);
|
||||||
|
if (rc == EOF)
|
||||||
|
break;
|
||||||
|
total++;
|
||||||
|
if (isascii(rc))
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
if (((count * 10) / total) < 8) {
|
||||||
|
Syslog('+', "This is not a ASCII textfile");
|
||||||
|
printf("\n%s\n\n", Language(17));
|
||||||
|
Pause();
|
||||||
|
free(File);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Syslog('+', "Display text file %s", File);
|
||||||
|
DisplayTextFile(File);
|
||||||
|
}
|
||||||
|
|
||||||
|
free(File);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef _FILE_H
|
#ifndef _FILE_H
|
||||||
#define _FILE_H
|
#define _FILE_H
|
||||||
|
|
||||||
|
/* $Id$ */
|
||||||
|
|
||||||
void File_RawDir(char *); /* Raw Directory List of a Directory */
|
void File_RawDir(char *); /* Raw Directory List of a Directory */
|
||||||
void File_List(void); /* List files in current Area */
|
void File_List(void); /* List files in current Area */
|
||||||
@ -18,7 +19,7 @@ void Delete_Home(void); /* Delete file from home directory */
|
|||||||
int Download_Home(void); /* Allows user to download from home dir */
|
int Download_Home(void); /* Allows user to download from home dir */
|
||||||
int Upload_Home(void); /* Allows user to upload to home directory */
|
int Upload_Home(void); /* Allows user to upload to home directory */
|
||||||
void Copy_Home(void); /* Copy a file to home directory */
|
void Copy_Home(void); /* Copy a file to home directory */
|
||||||
void ViewFile(void); /* View a file in the current area. */
|
void ViewFile(char *); /* View a file in the current area. */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -732,7 +732,7 @@ char *GetFileType(char *fn)
|
|||||||
if (memcmp(buf, "MTM", 3) == 0) return (char *)"MTM";
|
if (memcmp(buf, "MTM", 3) == 0) return (char *)"MTM";
|
||||||
if (memcmp(buf, "#!/bin/", 7) == 0) return (char *)"UNIX script";
|
if (memcmp(buf, "#!/bin/", 7) == 0) return (char *)"UNIX script";
|
||||||
if (memcmp(buf, "\037\235", 2) == 0) return (char *)"Compressed data";
|
if (memcmp(buf, "\037\235", 2) == 0) return (char *)"Compressed data";
|
||||||
if (memcmp(buf, "\037\213", 2) == 0) return (char *)"gzip compress";
|
if (memcmp(buf, "\037\213", 2) == 0) return (char *)"GZIP";
|
||||||
if (memcmp(buf, "\177ELF", 4) == 0) return (char *)"ELF";
|
if (memcmp(buf, "\177ELF", 4) == 0) return (char *)"ELF";
|
||||||
if (memcmp(buf, "%!", 2) == 0) return (char *)"PostScript";
|
if (memcmp(buf, "%!", 2) == 0) return (char *)"PostScript";
|
||||||
if (memcmp(buf, "GIF8", 4) == 0) return (char *)"GIF";
|
if (memcmp(buf, "GIF8", 4) == 0) return (char *)"GIF";
|
||||||
|
@ -429,7 +429,7 @@ void DoMenu(int Type)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 103:
|
case 103:
|
||||||
ViewFile();
|
ViewFile(NULL);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 104:
|
case 104:
|
||||||
|
@ -82,12 +82,14 @@ int CountArchive(void)
|
|||||||
archiver.available = TRUE;
|
archiver.available = TRUE;
|
||||||
sprintf(archiver.marc, "%s anw", _PATH_ARC);
|
sprintf(archiver.marc, "%s anw", _PATH_ARC);
|
||||||
sprintf(archiver.tarc, "%s tnw", _PATH_ARC);
|
sprintf(archiver.tarc, "%s tnw", _PATH_ARC);
|
||||||
|
sprintf(archiver.varc, "%s l", _PATH_ARC);
|
||||||
sprintf(archiver.funarc, "%s xnw", _PATH_ARC);
|
sprintf(archiver.funarc, "%s xnw", _PATH_ARC);
|
||||||
sprintf(archiver.munarc, "%s enw", _PATH_ARC);
|
sprintf(archiver.munarc, "%s enw", _PATH_ARC);
|
||||||
sprintf(archiver.iunarc, "%s enw", _PATH_ARC);
|
sprintf(archiver.iunarc, "%s enw", _PATH_ARC);
|
||||||
} else {
|
} else {
|
||||||
sprintf(archiver.marc, "/usr/bin/arc anw");
|
sprintf(archiver.marc, "/usr/bin/arc anw");
|
||||||
sprintf(archiver.tarc, "/usr/bin/arc tnw");
|
sprintf(archiver.tarc, "/usr/bin/arc tnw");
|
||||||
|
sprintf(archiver.varc, "/usr/bin/arc l");
|
||||||
sprintf(archiver.funarc, "/usr/bin/arc xnw");
|
sprintf(archiver.funarc, "/usr/bin/arc xnw");
|
||||||
sprintf(archiver.munarc, "/usr/bin/arc enw");
|
sprintf(archiver.munarc, "/usr/bin/arc enw");
|
||||||
sprintf(archiver.iunarc, "/usr/bin/arc enw");
|
sprintf(archiver.iunarc, "/usr/bin/arc enw");
|
||||||
@ -99,6 +101,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.funarc, "%s -U", _PATH_NOMARCH);
|
sprintf(archiver.funarc, "%s -U", _PATH_NOMARCH);
|
||||||
sprintf(archiver.munarc, "%s", _PATH_NOMARCH);
|
sprintf(archiver.munarc, "%s", _PATH_NOMARCH);
|
||||||
sprintf(archiver.iunarc, "%s", _PATH_NOMARCH);
|
sprintf(archiver.iunarc, "%s", _PATH_NOMARCH);
|
||||||
|
sprintf(archiver.varc, "%s -l", _PATH_NOMARCH);
|
||||||
}
|
}
|
||||||
fwrite(&archiver, sizeof(archiver), 1, fil);
|
fwrite(&archiver, sizeof(archiver), 1, fil);
|
||||||
|
|
||||||
@ -109,6 +112,7 @@ int CountArchive(void)
|
|||||||
archiver.available = TRUE;
|
archiver.available = TRUE;
|
||||||
sprintf(archiver.marc, "%s aq", _PATH_LHA);
|
sprintf(archiver.marc, "%s aq", _PATH_LHA);
|
||||||
sprintf(archiver.tarc, "%s tq", _PATH_LHA);
|
sprintf(archiver.tarc, "%s tq", _PATH_LHA);
|
||||||
|
sprintf(archiver.varc, "%s l", _PATH_LHA);
|
||||||
sprintf(archiver.funarc, "%s xqf", _PATH_LHA);
|
sprintf(archiver.funarc, "%s xqf", _PATH_LHA);
|
||||||
sprintf(archiver.munarc, "%s eqf", _PATH_LHA);
|
sprintf(archiver.munarc, "%s eqf", _PATH_LHA);
|
||||||
sprintf(archiver.iunarc, "%s eqf", _PATH_LHA);
|
sprintf(archiver.iunarc, "%s eqf", _PATH_LHA);
|
||||||
@ -116,6 +120,7 @@ int CountArchive(void)
|
|||||||
archiver.available = FALSE;
|
archiver.available = FALSE;
|
||||||
sprintf(archiver.marc, "/usr/bin/lha aq");
|
sprintf(archiver.marc, "/usr/bin/lha aq");
|
||||||
sprintf(archiver.tarc, "/usr/bin/lha tq");
|
sprintf(archiver.tarc, "/usr/bin/lha tq");
|
||||||
|
sprintf(archiver.varc, "/usr/bin/lha l");
|
||||||
sprintf(archiver.funarc, "/usr/bin/lha xqf");
|
sprintf(archiver.funarc, "/usr/bin/lha xqf");
|
||||||
sprintf(archiver.munarc, "/usr/bin/lha eqf");
|
sprintf(archiver.munarc, "/usr/bin/lha eqf");
|
||||||
sprintf(archiver.iunarc, "/usr/bin/lha eqf");
|
sprintf(archiver.iunarc, "/usr/bin/lha eqf");
|
||||||
@ -131,6 +136,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.marc, "%s a -y", _PATH_RAR);
|
sprintf(archiver.marc, "%s a -y", _PATH_RAR);
|
||||||
sprintf(archiver.barc, "%s c -y", _PATH_RAR);
|
sprintf(archiver.barc, "%s c -y", _PATH_RAR);
|
||||||
sprintf(archiver.tarc, "%s t -y", _PATH_RAR);
|
sprintf(archiver.tarc, "%s t -y", _PATH_RAR);
|
||||||
|
sprintf(archiver.varc, "%s l", _PATH_RAR);
|
||||||
sprintf(archiver.funarc, "%s x -o+ -y -r", _PATH_RAR);
|
sprintf(archiver.funarc, "%s x -o+ -y -r", _PATH_RAR);
|
||||||
sprintf(archiver.munarc, "%s e -o+ -y", _PATH_RAR);
|
sprintf(archiver.munarc, "%s e -o+ -y", _PATH_RAR);
|
||||||
sprintf(archiver.iunarc, "%s e", _PATH_RAR);
|
sprintf(archiver.iunarc, "%s e", _PATH_RAR);
|
||||||
@ -139,12 +145,14 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.funarc, "%s x -o+ -y -r", _PATH_UNRAR);
|
sprintf(archiver.funarc, "%s x -o+ -y -r", _PATH_UNRAR);
|
||||||
sprintf(archiver.munarc, "%s e -o+ -y", _PATH_UNRAR);
|
sprintf(archiver.munarc, "%s e -o+ -y", _PATH_UNRAR);
|
||||||
sprintf(archiver.iunarc, "%s e", _PATH_UNRAR);
|
sprintf(archiver.iunarc, "%s e", _PATH_UNRAR);
|
||||||
|
sprintf(archiver.varc, "%s l", _PATH_UNRAR);
|
||||||
} else {
|
} else {
|
||||||
archiver.available = FALSE;
|
archiver.available = FALSE;
|
||||||
sprintf(archiver.farc, "/usr/bin/rar a -y -r");
|
sprintf(archiver.farc, "/usr/bin/rar a -y -r");
|
||||||
sprintf(archiver.marc, "/usr/bin/rar a -y");
|
sprintf(archiver.marc, "/usr/bin/rar a -y");
|
||||||
sprintf(archiver.barc, "/usr/bin/rar c -y");
|
sprintf(archiver.barc, "/usr/bin/rar c -y");
|
||||||
sprintf(archiver.tarc, "/usr/bin/rar t -y");
|
sprintf(archiver.tarc, "/usr/bin/rar t -y");
|
||||||
|
sprintf(archiver.varc, "/usr/bin/rar l");
|
||||||
sprintf(archiver.funarc, "/usr/bin/unrar x -o+ -y -r");
|
sprintf(archiver.funarc, "/usr/bin/unrar x -o+ -y -r");
|
||||||
sprintf(archiver.munarc, "/usr/bin/unrar e -o+ -y");
|
sprintf(archiver.munarc, "/usr/bin/unrar e -o+ -y");
|
||||||
sprintf(archiver.iunarc, "/usr/bin/unrar e");
|
sprintf(archiver.iunarc, "/usr/bin/unrar e");
|
||||||
@ -159,6 +167,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.farc, "%s cfz", _PATH_TAR);
|
sprintf(archiver.farc, "%s cfz", _PATH_TAR);
|
||||||
sprintf(archiver.marc, "%s Afz", _PATH_TAR);
|
sprintf(archiver.marc, "%s Afz", _PATH_TAR);
|
||||||
sprintf(archiver.tarc, "%s tfz", _PATH_TAR);
|
sprintf(archiver.tarc, "%s tfz", _PATH_TAR);
|
||||||
|
sprintf(archiver.varc, "%s tfz", _PATH_TAR);
|
||||||
sprintf(archiver.funarc, "%s xfz", _PATH_TAR);
|
sprintf(archiver.funarc, "%s xfz", _PATH_TAR);
|
||||||
sprintf(archiver.munarc, "%s xfz", _PATH_TAR);
|
sprintf(archiver.munarc, "%s xfz", _PATH_TAR);
|
||||||
sprintf(archiver.iunarc, "%s xfz", _PATH_TAR);
|
sprintf(archiver.iunarc, "%s xfz", _PATH_TAR);
|
||||||
@ -167,6 +176,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.farc, "/bin/tar cfz");
|
sprintf(archiver.farc, "/bin/tar cfz");
|
||||||
sprintf(archiver.marc, "/bin/tar Afz");
|
sprintf(archiver.marc, "/bin/tar Afz");
|
||||||
sprintf(archiver.tarc, "/bin/tar tfz");
|
sprintf(archiver.tarc, "/bin/tar tfz");
|
||||||
|
sprintf(archiver.varc, "/bin/tar tfz");
|
||||||
sprintf(archiver.funarc, "/bin/tar xfz");
|
sprintf(archiver.funarc, "/bin/tar xfz");
|
||||||
sprintf(archiver.munarc, "/bin/tar xfz");
|
sprintf(archiver.munarc, "/bin/tar xfz");
|
||||||
sprintf(archiver.iunarc, "/bin/tar xfz");
|
sprintf(archiver.iunarc, "/bin/tar xfz");
|
||||||
@ -181,6 +191,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.farc, "%s cfj", _PATH_TAR);
|
sprintf(archiver.farc, "%s cfj", _PATH_TAR);
|
||||||
sprintf(archiver.marc, "%s Afj", _PATH_TAR);
|
sprintf(archiver.marc, "%s Afj", _PATH_TAR);
|
||||||
sprintf(archiver.tarc, "%s tfj", _PATH_TAR);
|
sprintf(archiver.tarc, "%s tfj", _PATH_TAR);
|
||||||
|
sprintf(archiver.varc, "%s tfj", _PATH_TAR);
|
||||||
sprintf(archiver.funarc, "%s xfj", _PATH_TAR);
|
sprintf(archiver.funarc, "%s xfj", _PATH_TAR);
|
||||||
sprintf(archiver.munarc, "%s xfj", _PATH_TAR);
|
sprintf(archiver.munarc, "%s xfj", _PATH_TAR);
|
||||||
sprintf(archiver.iunarc, "%s xfj", _PATH_TAR);
|
sprintf(archiver.iunarc, "%s xfj", _PATH_TAR);
|
||||||
@ -189,6 +200,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.farc, "/bin/tar cfj");
|
sprintf(archiver.farc, "/bin/tar cfj");
|
||||||
sprintf(archiver.marc, "/bin/tar Afj");
|
sprintf(archiver.marc, "/bin/tar Afj");
|
||||||
sprintf(archiver.tarc, "/bin/tar tfj");
|
sprintf(archiver.tarc, "/bin/tar tfj");
|
||||||
|
sprintf(archiver.varc, "/bin/tar tfj");
|
||||||
sprintf(archiver.funarc, "/bin/tar xfj");
|
sprintf(archiver.funarc, "/bin/tar xfj");
|
||||||
sprintf(archiver.munarc, "/bin/tar xfj");
|
sprintf(archiver.munarc, "/bin/tar xfj");
|
||||||
sprintf(archiver.iunarc, "/bin/tar xfj");
|
sprintf(archiver.iunarc, "/bin/tar xfj");
|
||||||
@ -203,6 +215,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.farc, "%s cf", _PATH_TAR);
|
sprintf(archiver.farc, "%s cf", _PATH_TAR);
|
||||||
sprintf(archiver.marc, "%s Af", _PATH_TAR);
|
sprintf(archiver.marc, "%s Af", _PATH_TAR);
|
||||||
sprintf(archiver.tarc, "%s tf", _PATH_TAR);
|
sprintf(archiver.tarc, "%s tf", _PATH_TAR);
|
||||||
|
sprintf(archiver.varc, "%s tf", _PATH_TAR);
|
||||||
sprintf(archiver.funarc, "%s xf", _PATH_TAR);
|
sprintf(archiver.funarc, "%s xf", _PATH_TAR);
|
||||||
sprintf(archiver.munarc, "%s xf", _PATH_TAR);
|
sprintf(archiver.munarc, "%s xf", _PATH_TAR);
|
||||||
sprintf(archiver.iunarc, "%s xf", _PATH_TAR);
|
sprintf(archiver.iunarc, "%s xf", _PATH_TAR);
|
||||||
@ -211,6 +224,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.farc, "/bin/tar cf");
|
sprintf(archiver.farc, "/bin/tar cf");
|
||||||
sprintf(archiver.marc, "/bin/tar Af");
|
sprintf(archiver.marc, "/bin/tar Af");
|
||||||
sprintf(archiver.tarc, "/bin/tar tf");
|
sprintf(archiver.tarc, "/bin/tar tf");
|
||||||
|
sprintf(archiver.varc, "/bin/tar tf");
|
||||||
sprintf(archiver.funarc, "/bin/tar xf");
|
sprintf(archiver.funarc, "/bin/tar xf");
|
||||||
sprintf(archiver.munarc, "/bin/tar xf");
|
sprintf(archiver.munarc, "/bin/tar xf");
|
||||||
sprintf(archiver.iunarc, "/bin/tar xf");
|
sprintf(archiver.iunarc, "/bin/tar xf");
|
||||||
@ -230,11 +244,13 @@ int CountArchive(void)
|
|||||||
archiver.available = FALSE;
|
archiver.available = FALSE;
|
||||||
if (strlen(_PATH_UNARJ)) {
|
if (strlen(_PATH_UNARJ)) {
|
||||||
sprintf(archiver.tarc, "%s t", _PATH_UNARJ);
|
sprintf(archiver.tarc, "%s t", _PATH_UNARJ);
|
||||||
|
sprintf(archiver.varc, "%s l", _PATH_UNARJ);
|
||||||
sprintf(archiver.funarc, "%s x", _PATH_UNARJ);
|
sprintf(archiver.funarc, "%s x", _PATH_UNARJ);
|
||||||
sprintf(archiver.munarc, "%s e", _PATH_UNARJ);
|
sprintf(archiver.munarc, "%s e", _PATH_UNARJ);
|
||||||
sprintf(archiver.iunarc, "%s e", _PATH_UNARJ);
|
sprintf(archiver.iunarc, "%s e", _PATH_UNARJ);
|
||||||
} else {
|
} else {
|
||||||
sprintf(archiver.tarc, "/usr/bin/unarj t");
|
sprintf(archiver.tarc, "/usr/bin/unarj t");
|
||||||
|
sprintf(archiver.varc, "/usr/bin/unarj l");
|
||||||
sprintf(archiver.funarc, "/usr/bin/unarj x");
|
sprintf(archiver.funarc, "/usr/bin/unarj x");
|
||||||
sprintf(archiver.munarc, "/usr/bin/unarj e");
|
sprintf(archiver.munarc, "/usr/bin/unarj e");
|
||||||
sprintf(archiver.iunarc, "/usr/bin/unarj e");
|
sprintf(archiver.iunarc, "/usr/bin/unarj e");
|
||||||
@ -250,6 +266,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.marc, "%s -2d -y -e a", _PATH_ARJ);
|
sprintf(archiver.marc, "%s -2d -y -e a", _PATH_ARJ);
|
||||||
sprintf(archiver.barc, "%s -2d -y c", _PATH_ARJ);
|
sprintf(archiver.barc, "%s -2d -y c", _PATH_ARJ);
|
||||||
sprintf(archiver.tarc, "%s -y t", _PATH_ARJ);
|
sprintf(archiver.tarc, "%s -y t", _PATH_ARJ);
|
||||||
|
sprintf(archiver.varc, "%s l", _PATH_ARJ);
|
||||||
sprintf(archiver.funarc, "%s -y x", _PATH_ARJ);
|
sprintf(archiver.funarc, "%s -y x", _PATH_ARJ);
|
||||||
sprintf(archiver.munarc, "%s -y e", _PATH_ARJ);
|
sprintf(archiver.munarc, "%s -y e", _PATH_ARJ);
|
||||||
sprintf(archiver.iunarc, "%s -y e", _PATH_ARJ);
|
sprintf(archiver.iunarc, "%s -y e", _PATH_ARJ);
|
||||||
@ -259,6 +276,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.marc, "/usr/bin/arj -2d -y -e a");
|
sprintf(archiver.marc, "/usr/bin/arj -2d -y -e a");
|
||||||
sprintf(archiver.barc, "/usr/bin/arj -2d -y c");
|
sprintf(archiver.barc, "/usr/bin/arj -2d -y c");
|
||||||
sprintf(archiver.tarc, "/usr/bin/arj -y t");
|
sprintf(archiver.tarc, "/usr/bin/arj -y t");
|
||||||
|
sprintf(archiver.varc, "/usr/bin/arj l");
|
||||||
sprintf(archiver.funarc, "/usr/bin/arj -y x");
|
sprintf(archiver.funarc, "/usr/bin/arj -y x");
|
||||||
sprintf(archiver.munarc, "/usr/bin/arj -y e");
|
sprintf(archiver.munarc, "/usr/bin/arj -y e");
|
||||||
sprintf(archiver.iunarc, "/usr/bin/arj -y e");
|
sprintf(archiver.iunarc, "/usr/bin/arj -y e");
|
||||||
@ -287,10 +305,12 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.funarc, "%s -o -q", _PATH_UNZIP);
|
sprintf(archiver.funarc, "%s -o -q", _PATH_UNZIP);
|
||||||
sprintf(archiver.munarc, "%s -o -j -L", _PATH_UNZIP);
|
sprintf(archiver.munarc, "%s -o -j -L", _PATH_UNZIP);
|
||||||
sprintf(archiver.iunarc, "%s -o -j", _PATH_UNZIP);
|
sprintf(archiver.iunarc, "%s -o -j", _PATH_UNZIP);
|
||||||
|
sprintf(archiver.varc, "%s -l", _PATH_UNZIP);
|
||||||
} else {
|
} else {
|
||||||
sprintf(archiver.funarc, "/usr/bin/unzip -o -q");
|
sprintf(archiver.funarc, "/usr/bin/unzip -o -q");
|
||||||
sprintf(archiver.munarc, "/usr/bin/unzip -o -j -L");
|
sprintf(archiver.munarc, "/usr/bin/unzip -o -j -L");
|
||||||
sprintf(archiver.iunarc, "/usr/bin/unzip -o -j");
|
sprintf(archiver.iunarc, "/usr/bin/unzip -o -j");
|
||||||
|
sprintf(archiver.varc, "/usr/bin/unzip -l");
|
||||||
}
|
}
|
||||||
fwrite(&archiver, sizeof(archiver), 1, fil);
|
fwrite(&archiver, sizeof(archiver), 1, fil);
|
||||||
|
|
||||||
@ -302,6 +322,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.farc, "%s aq", _PATH_ZOO);
|
sprintf(archiver.farc, "%s aq", _PATH_ZOO);
|
||||||
sprintf(archiver.marc, "%s aq:O", _PATH_ZOO);
|
sprintf(archiver.marc, "%s aq:O", _PATH_ZOO);
|
||||||
sprintf(archiver.barc, "%s aqC", _PATH_ZOO);
|
sprintf(archiver.barc, "%s aqC", _PATH_ZOO);
|
||||||
|
sprintf(archiver.varc, "%s -list", _PATH_ZOO);
|
||||||
sprintf(archiver.funarc, "%s xqO", _PATH_ZOO);
|
sprintf(archiver.funarc, "%s xqO", _PATH_ZOO);
|
||||||
sprintf(archiver.munarc, "%s eq:O", _PATH_ZOO);
|
sprintf(archiver.munarc, "%s eq:O", _PATH_ZOO);
|
||||||
sprintf(archiver.iunarc, "%s eqO", _PATH_ZOO);
|
sprintf(archiver.iunarc, "%s eqO", _PATH_ZOO);
|
||||||
@ -310,6 +331,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.farc, "/usr/bin/zoo aq");
|
sprintf(archiver.farc, "/usr/bin/zoo aq");
|
||||||
sprintf(archiver.marc, "/usr/bin/zoo aq:O");
|
sprintf(archiver.marc, "/usr/bin/zoo aq:O");
|
||||||
sprintf(archiver.barc, "/usr/bin/zoo aqC");
|
sprintf(archiver.barc, "/usr/bin/zoo aqC");
|
||||||
|
sprintf(archiver.varc, "/usr/bin/zoo -list");
|
||||||
sprintf(archiver.funarc, "/usr/bin/zoo xqO");
|
sprintf(archiver.funarc, "/usr/bin/zoo xqO");
|
||||||
sprintf(archiver.munarc, "/usr/bin/zoo eq:O");
|
sprintf(archiver.munarc, "/usr/bin/zoo eq:O");
|
||||||
sprintf(archiver.iunarc, "/usr/bin/zoo eqO");
|
sprintf(archiver.iunarc, "/usr/bin/zoo eqO");
|
||||||
@ -324,6 +346,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.farc, "%s a21rq", _PATH_HA);
|
sprintf(archiver.farc, "%s a21rq", _PATH_HA);
|
||||||
sprintf(archiver.marc, "%s a21q", _PATH_HA);
|
sprintf(archiver.marc, "%s a21q", _PATH_HA);
|
||||||
sprintf(archiver.tarc, "%s t", _PATH_HA);
|
sprintf(archiver.tarc, "%s t", _PATH_HA);
|
||||||
|
sprintf(archiver.varc, "%s l", _PATH_HA);
|
||||||
sprintf(archiver.funarc, "%s eyq", _PATH_HA);
|
sprintf(archiver.funarc, "%s eyq", _PATH_HA);
|
||||||
sprintf(archiver.munarc, "%s eyq", _PATH_HA);
|
sprintf(archiver.munarc, "%s eyq", _PATH_HA);
|
||||||
sprintf(archiver.iunarc, "%s eyq", _PATH_HA);
|
sprintf(archiver.iunarc, "%s eyq", _PATH_HA);
|
||||||
@ -332,6 +355,7 @@ int CountArchive(void)
|
|||||||
sprintf(archiver.farc, "/usr/bin/ha a21rq");
|
sprintf(archiver.farc, "/usr/bin/ha a21rq");
|
||||||
sprintf(archiver.marc, "/usr/bin/ha a21q");
|
sprintf(archiver.marc, "/usr/bin/ha a21q");
|
||||||
sprintf(archiver.tarc, "/usr/bin/ha t");
|
sprintf(archiver.tarc, "/usr/bin/ha t");
|
||||||
|
sprintf(archiver.varc, "/usr/bin/ha l");
|
||||||
sprintf(archiver.funarc, "/usr/bin/ha eyq");
|
sprintf(archiver.funarc, "/usr/bin/ha eyq");
|
||||||
sprintf(archiver.munarc, "/usr/bin/ha eyq");
|
sprintf(archiver.munarc, "/usr/bin/ha eyq");
|
||||||
sprintf(archiver.iunarc, "/usr/bin/ha eyq");
|
sprintf(archiver.iunarc, "/usr/bin/ha eyq");
|
||||||
@ -477,99 +501,102 @@ int AppendArchive(void)
|
|||||||
*/
|
*/
|
||||||
int EditArchRec(int Area)
|
int EditArchRec(int Area)
|
||||||
{
|
{
|
||||||
FILE *fil;
|
FILE *fil;
|
||||||
char mfile[PATH_MAX];
|
char mfile[PATH_MAX];
|
||||||
long offset;
|
long offset;
|
||||||
int j;
|
int j;
|
||||||
unsigned long crc, crc1;
|
unsigned long crc, crc1;
|
||||||
|
|
||||||
clr_index();
|
clr_index();
|
||||||
working(1, 0, 0);
|
working(1, 0, 0);
|
||||||
IsDoing("Edit Archiver");
|
IsDoing("Edit Archiver");
|
||||||
|
|
||||||
sprintf(mfile, "%s/etc/archiver.temp", getenv("MBSE_ROOT"));
|
sprintf(mfile, "%s/etc/archiver.temp", getenv("MBSE_ROOT"));
|
||||||
if ((fil = fopen(mfile, "r")) == NULL) {
|
if ((fil = fopen(mfile, "r")) == NULL) {
|
||||||
working(2, 0, 0);
|
working(2, 0, 0);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
offset = sizeof(archiverhdr) + ((Area -1) * sizeof(archiver));
|
offset = sizeof(archiverhdr) + ((Area -1) * sizeof(archiver));
|
||||||
if (fseek(fil, offset, 0) != 0) {
|
if (fseek(fil, offset, 0) != 0) {
|
||||||
working(2, 0, 0);
|
working(2, 0, 0);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
fread(&archiver, sizeof(archiver), 1, fil);
|
fread(&archiver, sizeof(archiver), 1, fil);
|
||||||
fclose(fil);
|
fclose(fil);
|
||||||
crc = 0xffffffff;
|
crc = 0xffffffff;
|
||||||
crc = upd_crc32((char *)&archiver, crc, sizeof(archiver));
|
crc = upd_crc32((char *)&archiver, crc, sizeof(archiver));
|
||||||
working(0, 0, 0);
|
working(0, 0, 0);
|
||||||
|
|
||||||
|
set_color(WHITE, BLACK);
|
||||||
|
mvprintw( 5, 2, "3. EDIT ARCHIVER");
|
||||||
|
set_color(CYAN, BLACK);
|
||||||
|
mvprintw( 7, 2, "1. Comment");
|
||||||
|
mvprintw( 8, 2, "2. Name");
|
||||||
|
mvprintw( 9, 2, "3. Available");
|
||||||
|
mvprintw(10, 2, "4. Deleted");
|
||||||
|
mvprintw(11, 2, "5. Arc files");
|
||||||
|
mvprintw(12, 2, "6. Arc mail");
|
||||||
|
mvprintw(13, 2, "7. Banners");
|
||||||
|
mvprintw(14, 2, "8. Arc test");
|
||||||
|
mvprintw(15, 2, "9. Un. files");
|
||||||
|
mvprintw(16, 2, "10. Un. mail");
|
||||||
|
mvprintw(17, 2, "11. FILE_ID");
|
||||||
|
mvprintw(18, 2, "12. List arc");
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 2, "3. EDIT ARCHIVER");
|
show_str( 7,16,40, archiver.comment);
|
||||||
set_color(CYAN, BLACK);
|
show_str( 8,16, 5, archiver.name);
|
||||||
mvprintw( 7, 2, "1. Comment");
|
show_bool(9,16, archiver.available);
|
||||||
mvprintw( 8, 2, "2. Name");
|
show_bool(10,16, archiver.deleted);
|
||||||
mvprintw( 9, 2, "3. Available");
|
show_str(11,16,64, archiver.farc);
|
||||||
mvprintw(10, 2, "4. Deleted");
|
show_str(12,16,64, archiver.marc);
|
||||||
mvprintw(11, 2, "5. Arc files");
|
show_str(13,16,64, archiver.barc);
|
||||||
mvprintw(12, 2, "6. Arc mail");
|
show_str(14,16,64, archiver.tarc);
|
||||||
mvprintw(13, 2, "7. Banners");
|
show_str(15,16,64, archiver.funarc);
|
||||||
mvprintw(14, 2, "8. Arc test");
|
show_str(16,16,64, archiver.munarc);
|
||||||
mvprintw(15, 2, "9. Un. files");
|
show_str(17,16,64, archiver.iunarc);
|
||||||
mvprintw(16, 2, "10. Un. mail");
|
show_str(18,16,64, archiver.varc);
|
||||||
mvprintw(17, 2, "11. FILE_ID");
|
|
||||||
|
|
||||||
for (;;) {
|
j = select_menu(12);
|
||||||
set_color(WHITE, BLACK);
|
switch(j) {
|
||||||
show_str( 7,16,40, archiver.comment);
|
case 0: crc1 = 0xffffffff;
|
||||||
show_str( 8,16, 5, archiver.name);
|
crc1 = upd_crc32((char *)&archiver, crc1, sizeof(archiver));
|
||||||
show_bool(9,16, archiver.available);
|
if (crc != crc1) {
|
||||||
show_bool(10,16, archiver.deleted);
|
if (yes_no((char *)"Record is changed, save") == 1) {
|
||||||
show_str(11,16,64, archiver.farc);
|
working(1, 0, 0);
|
||||||
show_str(12,16,64, archiver.marc);
|
if ((fil = fopen(mfile, "r+")) == NULL) {
|
||||||
show_str(13,16,64, archiver.barc);
|
working(2, 0, 0);
|
||||||
show_str(14,16,64, archiver.tarc);
|
return -1;
|
||||||
show_str(15,16,64, archiver.funarc);
|
}
|
||||||
show_str(16,16,64, archiver.munarc);
|
fseek(fil, offset, 0);
|
||||||
show_str(17,16,64, archiver.iunarc);
|
fwrite(&archiver, sizeof(archiver), 1, fil);
|
||||||
|
fclose(fil);
|
||||||
j = select_menu(11);
|
ArchUpdated = 1;
|
||||||
switch(j) {
|
working(1, 0, 0);
|
||||||
case 0: crc1 = 0xffffffff;
|
working(0, 0, 0);
|
||||||
crc1 = upd_crc32((char *)&archiver, crc1, sizeof(archiver));
|
|
||||||
if (crc != crc1) {
|
|
||||||
if (yes_no((char *)"Record is changed, save") == 1) {
|
|
||||||
working(1, 0, 0);
|
|
||||||
if ((fil = fopen(mfile, "r+")) == NULL) {
|
|
||||||
working(2, 0, 0);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
fseek(fil, offset, 0);
|
|
||||||
fwrite(&archiver, sizeof(archiver), 1, fil);
|
|
||||||
fclose(fil);
|
|
||||||
ArchUpdated = 1;
|
|
||||||
working(1, 0, 0);
|
|
||||||
working(0, 0, 0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
IsDoing("Browsing Menu");
|
}
|
||||||
return 0;
|
IsDoing("Browsing Menu");
|
||||||
case 1: E_STR( 7,16,40,archiver.comment, "The ^Comment^ for this record")
|
return 0;
|
||||||
case 2: E_STR( 8,16,5, archiver.name, "The ^name^ of this archiver")
|
case 1: E_STR( 7,16,40,archiver.comment, "The ^Comment^ for this record")
|
||||||
case 3: E_BOOL( 9,16, archiver.available,"Switch if this archiver is ^Available^ for use.")
|
case 2: E_STR( 8,16,5, archiver.name, "The ^name^ of this archiver")
|
||||||
case 4: E_BOOL(10,16, archiver.deleted, "Is this archiver ^deleted^")
|
case 3: E_BOOL( 9,16, archiver.available,"Switch if this archiver is ^Available^ for use.")
|
||||||
case 5: E_STR( 11,16,64,archiver.farc, "The ^Archive^ command for files")
|
case 4: E_BOOL(10,16, archiver.deleted, "Is this archiver ^deleted^")
|
||||||
case 6: E_STR( 12,16,64,archiver.marc, "The ^Archive^ command for mail packets")
|
case 5: E_STR( 11,16,64,archiver.farc, "The ^Archive^ command for files")
|
||||||
case 7: E_STR( 13,16,64,archiver.barc, "The ^Archive^ command to insert/replace banners")
|
case 6: E_STR( 12,16,64,archiver.marc, "The ^Archive^ command for mail packets")
|
||||||
case 8: E_STR( 14,16,64,archiver.tarc, "The ^Archive^ command to test an archive")
|
case 7: E_STR( 13,16,64,archiver.barc, "The ^Archive^ command to insert/replace banners")
|
||||||
case 9: E_STR( 15,16,64,archiver.funarc, "The ^Unarchive^ command for files")
|
case 8: E_STR( 14,16,64,archiver.tarc, "The ^Archive^ command to test an archive")
|
||||||
case 10:E_STR( 16,16,64,archiver.munarc, "The ^Unarchive^ command for mail packets")
|
case 9: E_STR( 15,16,64,archiver.funarc, "The ^Unarchive^ command for files")
|
||||||
case 11:E_STR( 17,16,64,archiver.iunarc, "The ^Unarchive^ command to extract the FILE_ID.DIZ file")
|
case 10:E_STR( 16,16,64,archiver.munarc, "The ^Unarchive^ command for mail packets")
|
||||||
}
|
case 11:E_STR( 17,16,64,archiver.iunarc, "The ^Unarchive^ command to extract the FILE_ID.DIZ file")
|
||||||
|
case 12:E_STR( 18,16,64,archiver.varc, "The ^List^ command to show the archive contents")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -784,6 +811,7 @@ int archive_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " Unpack files %s\n", archiver.funarc);
|
fprintf(fp, " Unpack files %s\n", archiver.funarc);
|
||||||
fprintf(fp, " Unpack mail %s\n", archiver.munarc);
|
fprintf(fp, " Unpack mail %s\n", archiver.munarc);
|
||||||
fprintf(fp, " Get FILE_ID.DIZ %s\n", archiver.iunarc);
|
fprintf(fp, " Get FILE_ID.DIZ %s\n", archiver.iunarc);
|
||||||
|
fprintf(fp, " List archive %s\n", archiver.varc);
|
||||||
fprintf(fp, "\n\n");
|
fprintf(fp, "\n\n");
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user