diff --git a/BUGS b/BUGS new file mode 100644 index 0000000..b78ccd6 --- /dev/null +++ b/BUGS @@ -0,0 +1,10 @@ +Hum... +Comment dire... +Ben... +Si on fait la somme des bugs et des misfeatures... +ça fait beaucoup, vraiment beaucoup.... + +donc on se limitera à un (ou plutôt deux) bug(s) : +_ le man est nul +_ l'aide n'est pas mieux. + diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..dc63aac --- /dev/null +++ b/COPYING @@ -0,0 +1,340 @@ + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..3d579f8 --- /dev/null +++ b/INSTALL @@ -0,0 +1,37 @@ +Installation de flrn +==================== + +pour installer flrn, le plus simple est de taper : +./configure --with-default-domain=DOMAIN +make +make install (avec des droits acceptables, donc souvent en super-utilisateur) + +configure +========= + +configure dipose d'un certain nombre d'options. Entre autres : + +--prefix=DIR : précise où flrn doit être installé + +--with-rx=DIR : demande l'utilisation de la bibliothèque rx et précise ou + trouver cette bibliothèque + +--with-slang=DIR : précise où trouver slang, s'il n'est pas à la place + habituelle + +--with-default-host=DIR : précise le nom de la machine d'où sont censés + provenir les posts (indispensable si gethostname + n'existe pas) +--with-default-domain=DOMAIN : précise le nom de domaine, indispensable si + on ne veut pas ens.fr ;-) + +Il faut d'autre part que configure puisse trouver sendmail, soit dans +le chemin d'accès courant, soit dans /usr/lib ou /usr/sbin. +Faute de quoi flrn sera incapable d'envoyer des mails. + + +Après le configure, vous pouvez regarder les différents fichiers +Makefile, ainsi que src/config.h . +Il est aussi possible de modifier src/site_config.h (et quelques +passages de src/flrn_config.h), voir le fichier INSTALL.site pour plus +de détails. diff --git a/INSTALL.site b/INSTALL.site new file mode 100644 index 0000000..ae56ef6 --- /dev/null +++ b/INSTALL.site @@ -0,0 +1,71 @@ +Configurer flrn pour un site donné +================================== + +0) modifier flrn_config.h (avant la compilation) + ---------------------- + +Le début de flrn_config.h contient quelques définitions que vous pouvez +modifier... à vos risques et périls. + +1) modifier site_config.h (avant la compilation) + ---------------------- + +site_config.h donne la configuration par défaut (qui est modifié par +le .flrnrc de l'utilisateur, ou le flrnrc par défaut de l'installation +si l'utilisateur n'a pas de .flrnrc). + +Comme flrn a été prévu pour un serveur local, certaines valeurs ne +sont pas compatibles avec une installation pour les news extérieures. +On conseille particulièrement de changer : + (cf le manuel pour plus d'explications sur ces variables) + +_ server : mieux vaut mettre "news", ou le nom de votre serveur préféré. + (cette variable est de toute façon écrasée par $NNTPSERVER) +_ header, weak_headers, hidden_headers : on peut faire quelques + modifications, mais cela ne permet hélas pas d'avoir ce que l'on + peut obtenir avec un vrai flrnrc (faute de pouvoir introduire des + headers non "connus" de flrn). +_ edit_all_headers : dans une configuration pour des news extérieures, il + FAUT mettre 1. +_ include_in_edit : mis à 0 pour éviter la présence de quote dans les + réponses (les messages n'expirant pas), il faut mettre 1 pour des + news extérieures, surtout si auto_edit est égal à 1. +_ threaded_space : il faut mettre 1. Ce sera 1 dans les futures versions. +_ auto_edit : il est préférable de mettre 1, sauf si votre éditeur favori + est (x)emacs et qu'il prend trop de temps à se lancer. :-) +_ auto_kill : cette option spéciale est mieux à 0 +_ use_regexp, use_menus, with_cousins : mieux vaut mettre 1 +_ default_subscribe : 0 est peut-être préférable +_ alpha_tree (quel nom idiot !) : il faut mettre 1 +_ flags_group : la chaine "M DDm*dd" est probablement meilleure +_ hist_file_name : mettre ".flrnhist" n'est pas plus mal +_ warn_if_new : mettre 1 n'est pas plus mal non plus +_ default_flnewsfile : mettre "flnewsrc" n'est pas plus mal +_ help_line : vu la gueule des lignes d'aide, on peut mettre 0 sans risque + + +Comme ces modifications sont un peu lourde, on peut tout simplement ne +rien faire, et installer un flrnrc par défaut qui sera chargé si +l'utilisateur n'en a pas dans son répertoire. Mais un utilisateur +qui désirerait personnaliser sa configuration devra alors inclure la +configuration par défaut par un "include ..." au début de son .flrnrc +(ou alors il peut reprendre le flrnrc par défaut et le modifier). + +2) faire un flrnrc par défaut (après l'installation) + -------------------------- + +Un exemple de flrnrc est le flrnrc.sample donné dans ce répertoire. +On pourra avantageusement le copier dans $datadir/flrn pour +avoir une configuration par défaut. + +3) faire un flnewsrc par défaut (après l'installation) + ---------------------------- + +On pourra rajouter un flnewsrc dans $datadir/flrn qui servira si +lorsque l'utilisateur lance flrn pour la première fois (si la +configuration est bien prévue pour). Ce flnewsrc a le format d'un +.newsrc normal. +On pourra par exemple y mettre la simple ligne : +fr.bienvenue: + +afin que l'utilisateur soit par défaut abonné à un groupe utile. diff --git a/README b/README new file mode 100644 index 0000000..b13d0ce --- /dev/null +++ b/README @@ -0,0 +1,100 @@ +README pour flrn en français + +(désolé pour le pompeux du discours, on essaie de faire un truc sérieux) + +Description +=========== + +flrn est un lecteur de news en français développé à l'École Normale Supérieure. +(français = franglais... les commandes par exemple ont des noms anglais) + +flrn dispose d'un certains nombre de features : affichage de résumés +des messages (comme slrn), configurable sans trop de difficultés, historique +des messages lus, passage facile d'un groupe à l'autre d'un message +crossposté... +Principal défaut (à mon avis) : flrn ne décode pas les messages (sauf +éventuellement les headers en QP ou en base64), et ne gère évidemment pas +les messages en multi-part. + +Les auteurs de flrn sont Joël-Yann Fourré et Damien Massé (auteur du présent +fichier). + +Les discussions autour de flrn se font pour des raisons historique sur +un groupe de discussion interne à l'ENS, mais on peut envoyer les +suggestions et bug-reports à damien.masse@ens.fr où ils seront bien +accueillis (en principe). Il est éventuellement envisageable de créer +une mailing-liste si le programme se répand vraiment (heureusement, +c'est pas encore fait). + +flrn a été essentiellement testé sur des serveurs de news innd (de +différentes versions). Quelques essais ont été effectués avec leafnode +(qui dispose d'un nombre moindre de commandes). + +Histoire +======== + +Le projet d'écrire flrn date de novembre 1997. L'objectif était d'obtenir +un lecteur de news qui simule l'interface d'un vieux programme de news +interne (non client-serveur) dont le nom était forum, afin de passer +à un système client-serveur où le serveur serait un truc standard (innd). +D'où flrn = forum-like rn. +Par la suite les auteurs ont tenté de rendre ce programme utilisable pour +autre chose que la lecture de groupes de discussions locaux. + +Systèmes supportés +================== + +flrn est censé tourner sur n'importe quel Unix un peu récent, pour +peu que slang soit installé. +Il a été essentiellement testé sous Linux (PC et alpha) et SunOS 5, +mais de vieilles versions ont été un peu testées sous SunOS 4 (avec la +bibliothèque rx), NextStep (avec gcc -posix), HPUX et OpenBSD. +Il est conseillé d'utiliser gcc, mais cc semble le plus souvent marcher. + +La bibliothèque slang (ftp://space.mit.edu/pub/davis/slang) est indispensable +pour flrn. flrn a été testé avec des versions entre 0.99 et 1.2 (pas la +1.3, il faudrait que je vérifie si rien n'a changé). flrn n'utilise que +la partie gestion de terminal de la bibliothèque (comme mutt). Il est +envisagé (mais non décidé) d'utiliser à terme le langage associé. + +La bibliothèque rx (ftp://prep.ai.mit.edu/pub/gnu/rx) est nécessaire si +la bibliothèque C n'inclut pas la gestion des expression régulières. + +L'installation du programme urlview +(ftp://ftp.lip6.fr/pub/unix/mail/mutt/contrib/) +est conseillée. Ça s'adapte très bien au programme. + + +Installation +============ + +cf INSTALL pour l'installation "de base" +Il est conseillé de regarder aussi INSTALL.site pour une +configuration spécifique à un site donné. + +Documentation +============= + +flrn dispose d'une page de man qui décrit les options de la ligne +de commande et les options du fichier de configuration. +L'aide en ligne décrit le fichier de configuration, les commandes +de flrn et le kill-file de flrn. +L'ensemble des fichiers de l'aide en ligne est dans le répertoire help. + +Bug-reports, etc... +=================== + +Envoyer à damien.masse@ens.fr, ou a flrn@quatramaran.ens.fr (ceci si +on crée une mailing-list un jour, pour l'instant ça finit dans ma +mailbox ;-) ) +cf src/README.dev pour avoir des renseignements sur l'organisation (très +désorganisée) du code. + + +Copie +===== + +flrn est sous GPL +Une petite partie du code a été reprise à mutt (ancien parsing de la +date, codage et décodage des headers en QP pour l'iso-8859-1) +cf COPYING pour plus de détails. diff --git a/TODO b/TODO new file mode 100644 index 0000000..f131051 --- /dev/null +++ b/TODO @@ -0,0 +1,3 @@ +_ crosspost sans fu2 +_ inclusion d'un .signature +[mettez ici votre feature préférée] diff --git a/configure b/configure index 9315826..2a54ce2 100755 --- a/configure +++ b/configure @@ -948,6 +948,9 @@ cat >> confdefs.h <&2 +fi # Check whether --with-default-host or --without-default-host was given. if test "${with_default_host+set}" = set; then @@ -988,7 +991,7 @@ fi CFLAGS="-I. $CFLAGS" echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:992: checking for socket in -lsocket" >&5 +echo "configure:995: checking for socket in -lsocket" >&5 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -996,7 +999,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1035,7 +1038,7 @@ else fi echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:1039: checking for gethostbyname in -lnsl" >&5 +echo "configure:1042: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1043,7 +1046,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1088,7 +1091,7 @@ if test "`(uname) 2>/dev/null`" = SunOS && fi echo $ac_n "checking for 8 bit nroff""... $ac_c" 1>&6 -echo "configure:1092: checking for 8 bit nroff" >&5 +echo "configure:1095: checking for 8 bit nroff" >&5 if test X`echo 'é'| nroff | head -1` = 'Xé'; then MANISO=.iso echo "$ac_t""yes" 1>&6 @@ -1106,7 +1109,7 @@ flrn_cv_slang=no if test "${with_slang+set}" = set; then withval="$with_slang" echo $ac_n "checking for S-Lang""... $ac_c" 1>&6 -echo "configure:1110: checking for S-Lang" >&5 +echo "configure:1113: checking for S-Lang" >&5 if test $withval = yes; then if test -d $srcdir/../slang; then flrn_cv_slang=$srcdir/../slang/src @@ -1149,16 +1152,16 @@ fi echo $ac_n "checking if I can compile a test SLang program""... $ac_c" 1>&6 -echo "configure:1153: checking if I can compile a test SLang program" >&5 +echo "configure:1156: checking if I can compile a test SLang program" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -1173,7 +1176,7 @@ rm -f conftest* flrn_cv_rx=no echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1177: checking how to run the C preprocessor" >&5 +echo "configure:1180: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1188,13 +1191,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1198: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1201: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1205,13 +1208,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1215: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1218: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1222,13 +1225,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1232: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1235: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1270,12 +1273,12 @@ else for ac_func in regcomp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1274: checking for $ac_func" >&5 +echo "configure:1277: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1325,17 +1328,17 @@ done ac_safe=`echo "regdef.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for regdef.h""... $ac_c" 1>&6 -echo "configure:1329: checking for regdef.h" >&5 +echo "configure:1332: checking for regdef.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1339: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1342: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1370,7 +1373,7 @@ if test X$flrn_cv_rx != Xno; then fi echo checking for librx... $flrn_cv_rx echo $ac_n "checking for regcomp in -lrx""... $ac_c" 1>&6 -echo "configure:1374: checking for regcomp in -lrx" >&5 +echo "configure:1377: checking for regcomp in -lrx" >&5 ac_lib_var=`echo rx'_'regcomp | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1378,7 +1381,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lrx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1396: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1421,12 +1424,12 @@ fi fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1425: checking for ANSI C header files" >&5 +echo "configure:1428: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1434,7 +1437,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1441: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1451,7 +1454,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1469,7 +1472,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1490,7 +1493,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1501,7 +1504,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1508: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -1528,17 +1531,17 @@ for ac_hdr in sys/time.h unistd.h ctype.h errno.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1532: checking for $ac_hdr" >&5 +echo "configure:1535: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1542: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1545: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1566,12 +1569,12 @@ done echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:1570: checking for working const" >&5 +echo "configure:1573: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1627: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -1641,12 +1644,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:1645: checking for size_t" >&5 +echo "configure:1648: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1674,12 +1677,12 @@ EOF fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:1678: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:1681: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1688,7 +1691,7 @@ int main() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:1692: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -1709,12 +1712,12 @@ EOF fi echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:1713: checking whether struct tm is in sys/time.h or time.h" >&5 +echo "configure:1716: checking whether struct tm is in sys/time.h or time.h" >&5 if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1722,7 +1725,7 @@ int main() { struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:1726: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1729: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -1744,12 +1747,12 @@ fi echo $ac_n "checking for strftime""... $ac_c" 1>&6 -echo "configure:1748: checking for strftime" >&5 +echo "configure:1751: checking for strftime" >&5 if eval "test \"`echo '$''{'ac_cv_func_strftime'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_strftime=yes" else @@ -1794,7 +1797,7 @@ else echo "$ac_t""no" 1>&6 # strftime is in -lintl on SCO UNIX. echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6 -echo "configure:1798: checking for strftime in -lintl" >&5 +echo "configure:1801: checking for strftime in -lintl" >&5 ac_lib_var=`echo intl'_'strftime | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1802,7 +1805,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1842,12 +1845,12 @@ fi for ac_func in gethostname select socket strdup strspn strstr strtol do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1846: checking for $ac_func" >&5 +echo "configure:1849: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1897,12 +1900,12 @@ done for ac_func in inet_aton snprintf isdigit isblank do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1901: checking for $ac_func" >&5 +echo "configure:1904: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else diff --git a/configure.in b/configure.in index ebe4e6c..d236d2c 100644 --- a/configure.in +++ b/configure.in @@ -15,6 +15,9 @@ AC_CHECK_PROGS(MAKEDEPEND,gccmakedep makedepend, echo) AC_PATH_PROG(SENDMAIL, sendmail, no, `echo $PATH`:/usr/sbin:/usr/lib) AC_DEFINE_UNQUOTED(SENDMAIL, "$ac_cv_path_SENDMAIL") +if test "$ac_cv_path_SENDMAIL" = no; then + AC_MSG_WARN(no sendmail found. \\mail-answer will not work !) +fi AC_ARG_WITH(default-host, [ --with-default-host[=MACHINE] default host for adresses], AC_DEFINE_UNQUOTED(DEFAULT_HOST, "$withval") diff --git a/flrnrc.sample b/flrnrc.sample new file mode 100644 index 0000000..097baf6 --- /dev/null +++ b/flrnrc.sample @@ -0,0 +1,87 @@ +# Exemple de flrnrc standard pour lire les news de Usenet. + +# Nom du serveur +set server news + +# Nom de post +# set post_name "Moi" + +########### +# entêtes # +########### +# cette ligne donne l'ordre. others signifie "tout autre entête dans +# l'ordre d'apparition" +header list Newsgroups References From Reply-To others Followup-To Subject + +# cette ligne donne les entêtes à ne jamais afficher (malgré le others dans +# la première ligne). L'ordre est indifférent. +header hide Message-Id Path NNTP-Posting-Host X-Trace X-Complaints-To NNTP-Posting-Date X-Face X-Server-Date X-Original-Received + +# cette ligne donne les entêtes qui ne doivent plus être rappelés lorsque +# le message fait plusieurs pages (les autres restant affichés). L'ordre +# est indifférent +header weak others + +# On marque d'un '-' les messages déjà lus +my_flag - read + + +# mettre cette ligne si vous voulez que les entêtes défilent avec le +# reste du message +# set headers_scroll + +# lignes blanches sous la barre de statut +set noskip_line +# on ne veut pas utiliser l'éditeur intégré dans flrn +set auto_edit +# on veut pouvoir éditer toutes les entêtes +set edit_all_headers +# on veut inclure le message dans les réponses (utile si auto_edit est défini) +set include_in_edit + +# \next-unread est "threadé" +set threaded_space +# on utilise les expressions régulières +set use_regexp +# on utilise les menus +set use_menus +# on peut se déplacer loin dans l'arbre de la discussion +set with_cousins +# on ne s'abonne à rien automatiquement +set auto_subscribe "" +set auto_ignore "^control|^[^.]+$" +set subscribe_first +set nodefault_subscribe + +# on veut voir l'arbre de la discussion +set alpha_tree + +# option pour le kill-file (voir l'aide pour plus de détails) +set noauto_kill + +# chemin pour les sauvegardes +set savepath News + +# avec noauto_kill, on préfère ces drapeaux +set flags_groups "M DDm*dd" + +# sauvegarde de l'historique +set hist_file_name ".flrnhist" + +# on veut être averti des nouveaux groupes +set warn_if_new + +# on veut avoir un .flnewsrc par défaut +set default_flnewsrc flnewsrc + +# la ligne d'aide est plutôt limitée. Mieux vaut la supprimer +set nohelp_line +# set help_line_file "help_lines" + +########## +# ces options servent si on utilise une authentification avec le +# serveur (authinfo de innd) +########## +# set auth_user "monlogin" +# set auth_pass "monpassword" +########## diff --git a/src/ChangeLog b/src/ChangeLog index 1fa46e2..f0f67e7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,7 @@ ChangeLog Flrn +. bugfix pour les serveurs grotesques à la Quisar +. préparation d'un zolie distrib . authentification . un peu de formatage, un peu de blindage . une ligne d'aide. des trucs et des bidules diff --git a/src/Makefile.in b/src/Makefile.in index 74ff9da..624c3be 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,10 +1,11 @@ -#------------------------------------------------------------------------------ +# flrn : lecteur de news en mode texte +# Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré # -# Makefile pour flrn -# Une tentative désespérée de faire sérieux en faisant un joli makefile. +# makefile.in : le Makefile de flrn # -# damien@naoned.ens.fr 21/11/97 -#------------------------------------------------------------------------------ +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation. See the file COPYING for details. # C compiler diff --git a/src/README.dev b/src/README.dev new file mode 100644 index 0000000..e69de29 diff --git a/src/art_group.c b/src/art_group.c index b1c62cf..f8bd572 100644 --- a/src/art_group.c +++ b/src/art_group.c @@ -1,9 +1,13 @@ -/* flrn v 0.1 */ -/* art_group.c 25/11/97 */ -/* */ -/* Gestion des articles au sein d'un groupe. */ -/* */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * art_group.c : gestion des articles d'un groupe + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #include #include @@ -230,11 +234,22 @@ int cree_liens() { derelie_article(parcours->pere,parcours); /* La ligne suivante peut servir un jour */ - /* if (Article_courant==parcours) Article_courant=creation; */ + /* helas oui... */ + if (Article_courant==parcours) Article_courant=creation; + /* on doit même tester, pour le Quisar serveur, les non-lus */ + if ((parcours->numero!=-1) && (!(parcours->flag & FLAG_READ))) { + Newsgroup_courant->not_read--; + parcours->thread->non_lu--; + } /* On efface enfin l'article vidé */ if (parcours->prev) parcours->prev->next=parcours->next; - else Article_exte_deb=parcours->next; + else { + /* n'excluons jamais le pire : un doublon dans le xover */ + /* (on a deja vu ca sur le serveur de Quisar) */ + if (parcours==Article_deb) Article_deb=parcours->next; + else Article_exte_deb=parcours->next; + } if (parcours->next) parcours->next->prev=parcours->prev; free_one_article(parcours,1); } diff --git a/src/art_group.h b/src/art_group.h index 151a806..021c9a9 100644 --- a/src/art_group.h +++ b/src/art_group.h @@ -1,7 +1,12 @@ -/* flrn v 0.1 */ -/* art_group.h 25/11/97 */ -/* */ -/* Headers pour la gestion d'une liste d'article au sein du newsgroup. */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * art_group.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #ifndef FLRN_ART_GROUP_H #define FLRN_ART_GROUP_H diff --git a/src/compatibility.c b/src/compatibility.c index e5ed12a..62dfc8e 100644 --- a/src/compatibility.c +++ b/src/compatibility.c @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * compatibility.c : fonctions de compatibilité + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #include #include #include diff --git a/src/compatibility.h b/src/compatibility.h index 56af28a..f5432cc 100644 --- a/src/compatibility.h +++ b/src/compatibility.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * compatibility.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_COMPATIBILITY_H #define FLRN_COMPATIBILITY_H diff --git a/src/flrn.h b/src/flrn.h index 9b2a40d..bcf45d4 100644 --- a/src/flrn.h +++ b/src/flrn.h @@ -1,7 +1,12 @@ -/* flrn v 0.3 */ -/* flrn.h 22/06/98 */ -/* */ -/* Inclusion des fichiers de headers principaux... */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #ifndef FLRN_FLRN_H @@ -11,9 +16,5 @@ #include "flrn_config.h" /* Defines autres */ #include "compatibility.h" /* La compatibilité */ #include "flrn_glob.h" /* Variables externes */ -/* Les fonctions externes sont éclatées */ -#if 0 -#include "extern.h" /* Fonctions externes */ -#endif #endif diff --git a/src/flrn_color.c b/src/flrn_color.c index 10f5000..ce5d86a 100644 --- a/src/flrn_color.c +++ b/src/flrn_color.c @@ -1,4 +1,12 @@ -/* flrn, essai de syntax highlighting pas trop bugué */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_color.c : gestion des couleurs (syntax-highlight) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include diff --git a/src/flrn_color.h b/src/flrn_color.h index 86d596b..a45c298 100644 --- a/src/flrn_color.h +++ b/src/flrn_color.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_color.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_COLOR_H #define FLRN_COLOR_H diff --git a/src/flrn_command.c b/src/flrn_command.c index d295eb7..897817a 100644 --- a/src/flrn_command.c +++ b/src/flrn_command.c @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_command.c:: entrée des commandes + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + /* * Gestion des bindings de touches * Commun a tous les contextes */ diff --git a/src/flrn_command.h b/src/flrn_command.h index 2e319aa..36fd00c 100644 --- a/src/flrn_command.h +++ b/src/flrn_command.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_command.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_COMMAND_H #define FLRN_COMMAND_H diff --git a/src/flrn_comp.c b/src/flrn_comp.c index 748d52f..092d2a4 100644 --- a/src/flrn_comp.c +++ b/src/flrn_comp.c @@ -1,9 +1,12 @@ -/* flrn v 0.4 */ -/* flrn_comp.c 29/02/99 */ -/* */ -/* Complétions dans flrn */ -/* */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_comp.c : complétion automatique dans flrn + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include "flrn.h" diff --git a/src/flrn_comp.h b/src/flrn_comp.h index ba9bb09..b53956c 100644 --- a/src/flrn_comp.h +++ b/src/flrn_comp.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_comp.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_COMP_H #define FLRN_COMP_H diff --git a/src/flrn_config.h b/src/flrn_config.h index 35b1f66..7d4e0c4 100644 --- a/src/flrn_config.h +++ b/src/flrn_config.h @@ -1,33 +1,69 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_config.h : quelques define pour le programme + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_FLRN_CONFIG_H #define FLRN_FLRN_CONFIG_H #include "pathdef.h" -#define MAX_PATH_LEN 1024 -#define DEFAULT_DIR_FILE ".flrn" -/* Répertoire où chercher les fichiers de config */ -#define DEFAULT_CONFIG_FILE ".flrnrc" -#define DEFAULT_CONFIG_SYS_FILE "flrnrc" /* si pas de .flrnrc, on ouvre celui-la */ -#define DEFAULT_FLNEWS_FILE ".flnewsrc" +/* L'utilisateur peut modifier la valeurs qui suivent jusqu'au + "-- ne rien modifier ensuite --" */ + +/* Répertoire où chercher les fichiers de config chez l'utilisateur */ +#define DEFAULT_DIR_FILE ".flrn" + +/* Nom du fichier de config normalement présent chez l'utilisateur */ +#define DEFAULT_CONFIG_FILE ".flrnrc" + +/* Nom du fichier de config par défaut si l'utilisateur n'a pas de .flrnrc : + flrn charge ce fichier dans le répertoire $datadir/flrn du Makefile + (par défaut /usr/local/share/flrn) */ +#define DEFAULT_CONFIG_SYS_FILE "flrnrc" + +/* Nom du fichier qui contient les messages lus par l'utilisateur + (équivalent du .newsrc) */ +#define DEFAULT_FLNEWS_FILE ".flnewsrc" + +/* Nom du fichier temporaire utilisé pour les posts */ #define TMP_POST_FILE ".article" + +/* Nom du fichier temporaire utilisé pour obtenir la sortie standard + d'un programme (lancé via \shin par exemple) */ #define TMP_PIPE_FILE ".pipe_flrn" - /* en fait fichier temporaire utilisé partout */ + +/* Lieu où sauver un message qui a été refusé par le serveur */ #define TMP_REJECT_POST_FILE "dead.article" -#define DEFAULT_HELP_DIRECTORY PATH_HELP_DIRECTORY /* defined in pathdef.h */ -#define DEFAULT_HELP_FILES "Help_" -#define DEFAULT_NNTP_PORT 119 + +/* Défini à 1 si on veut que flrn vérifie la présence de nouveaux mails */ #define CHECK_MAIL 1 #ifdef CHECK_MAIL -/* peut-être à mettre dans le configure... */ +/* Répertoire où flrn suppose que se trouve la mailbox de l'utilisateur. */ #define DEFAULT_MAIL_PATH "/var/spool/mail" #endif + +/* Options de lancement de sendmail (le lieu où trouver sendmail est + défini via configure dans config.h */ +#define MAILER_CMD SENDMAIL " -U -t" + + +/* -- ne rien modifier ensuite, normalement -- */ + +#define MAX_PATH_LEN 1024 + /* en fait fichier temporaire utilisé partout */ +#define DEFAULT_HELP_DIRECTORY PATH_HELP_DIRECTORY /* defined in pathdef.h */ +#define DEFAULT_HELP_FILES "Help_" +#define DEFAULT_NNTP_PORT 119 #define MAX_BUF_SIZE 8192 /* taille maximum de lecture brute */ #define MAX_READ_SIZE 2048 /* taille maximum de lecture raffinee */ #define MAX_REGEXP_SIZE 1024 /* taille max d'une regexp */ -#define MAILER_CMD SENDMAIL " -U -t" -/* #define DOMAIN "ens.fr" */ -/* #define DEFAULT_HOST "naoned" */ /* maintenant, ça se fait avec configure */ #define MAX_SERVER_LEN 128 #define MAX_NEWSGROUP_LEN 128 diff --git a/src/flrn_files.c b/src/flrn_files.c index 7f3630c..b8de682 100644 --- a/src/flrn_files.c +++ b/src/flrn_files.c @@ -1,9 +1,12 @@ -/* flrn v 0.1 */ -/* flrn_files.c 22/06/98 */ -/* */ -/* Des routines de gestion des fichiers (.flrn(rc?) et .flnewsrc) */ -/* Ce fichier doit se limiter à la gestion de fichiers. */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_files.c : gestion des fichiers + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include diff --git a/src/flrn_files.h b/src/flrn_files.h index 6993beb..6e39256 100644 --- a/src/flrn_files.h +++ b/src/flrn_files.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_files.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_FLRN_FILES_H #define FLRN_FLRN_FILES_H diff --git a/src/flrn_filter.c b/src/flrn_filter.c index 9c66fd0..0902f05 100644 --- a/src/flrn_filter.c +++ b/src/flrn_filter.c @@ -1,5 +1,12 @@ -/* flrn, gestion des kill files - * Jo. */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_filter.c : gestion du kill-file + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include diff --git a/src/flrn_filter.h b/src/flrn_filter.h index 642efa4..794a7af 100644 --- a/src/flrn_filter.h +++ b/src/flrn_filter.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_filter.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + /* liste chainée de regexp à matcher sur les headers */ #ifndef FLRN_FILTER_H #define FLRN_FILTER_H diff --git a/src/flrn_format.c b/src/flrn_format.c index 3557b9f..933dda5 100644 --- a/src/flrn_format.c +++ b/src/flrn_format.c @@ -1,9 +1,12 @@ -/* flrn v 0.3 */ -/* flrn_format.c 22/06/98 */ -/* */ -/* Formatage des headers... Sert pour le parsing de la date, les */ -/* attributions, etc etc... */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_format.c : formatage de lignes, date (vieux code) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include @@ -20,9 +23,11 @@ #include "getdate.h" +/* On ne parse plus la date ici, on utilise getdate.y (cf GNU date) */ #if 0 /* Parsing de la date */ -/* Pompé sur mutt... */ +/* ce code est tiré de celui de mutt, placé aussi sous GPL */ +/* cf ftp://ftp.lip6.fr/pub/unix/mail/mutt/ */ const char *Months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "ERR" }; diff --git a/src/flrn_format.h b/src/flrn_format.h index 4bb39b0..8d517fa 100644 --- a/src/flrn_format.h +++ b/src/flrn_format.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_format.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_FLRN_FORMAT_H #define FLRN_FLRN_FORMAT_H diff --git a/src/flrn_glob.h b/src/flrn_glob.h index 2770d82..8d1b0d7 100644 --- a/src/flrn_glob.h +++ b/src/flrn_glob.h @@ -1,4 +1,12 @@ -/* flrn v 0.1 : variables globales */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_glob.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #ifndef FLRN_FLRN_GLOB_H #define FLRN_FLRN_GLOB_H diff --git a/src/flrn_help.c b/src/flrn_help.c index ad69d12..2f67374 100644 --- a/src/flrn_help.c +++ b/src/flrn_help.c @@ -1,9 +1,12 @@ -/* flrn v 0.1 */ -/* fl_help.c 10/12/97 */ -/* */ -/* Gestion hyper-torchante de l'aide. */ -/* */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_help.c : aide + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include diff --git a/src/flrn_help.h b/src/flrn_help.h index d051324..5a1c63d 100644 --- a/src/flrn_help.h +++ b/src/flrn_help.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_help.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_FLRN_HELP_H #define FLRN_FLRN_HELP_H diff --git a/src/flrn_inter.c b/src/flrn_inter.c index 273e2be..3fb0179 100644 --- a/src/flrn_inter.c +++ b/src/flrn_inter.c @@ -1,9 +1,12 @@ -/* flrn v 0.1 */ -/* flrn_inter.c 27/11/97 */ -/* */ -/* La boucle principale de flrn. */ -/* */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_inter.c : mode commande de flrn, boucle principale + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #define IN_FLRN_INTER_C #include diff --git a/src/flrn_inter.h b/src/flrn_inter.h index c234198..a076baa 100644 --- a/src/flrn_inter.h +++ b/src/flrn_inter.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_inter.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_INTER_H #define FLRN_INTER_H diff --git a/src/flrn_lists.c b/src/flrn_lists.c index dfb6d31..d89d20c 100644 --- a/src/flrn_lists.c +++ b/src/flrn_lists.c @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_lists.c : gestion de listes de chaines + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + /* gestion de listes de chaines pour flrn */ #include diff --git a/src/flrn_lists.h b/src/flrn_lists.h index a1211a5..a61c101 100644 --- a/src/flrn_lists.h +++ b/src/flrn_lists.h @@ -1,7 +1,12 @@ -/* flrn v 0.1 */ -/* flrn_liste.h 07/98 */ -/* */ -/* Headers pour flrn_liste.c */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_liste.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #ifndef FLRN_FLRN_LISTE_H #define FLRN_FLRN_LISTE_H diff --git a/src/flrn_macros.h b/src/flrn_macros.h index f57f28b..21b4201 100644 --- a/src/flrn_macros.h +++ b/src/flrn_macros.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_macros.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_MACROS_H #define FLRN_MACROS_H diff --git a/src/flrn_menus.c b/src/flrn_menus.c index 422aeae..e6f8563 100644 --- a/src/flrn_menus.c +++ b/src/flrn_menus.c @@ -1,9 +1,12 @@ -/* flrn v 0.1 */ -/* flrn_menus.c 15/05/98 */ -/* */ -/* Routines de manipulation de menus pour une interface méga-torche. */ -/* C'est très proche des librairies I/O, mais on va essayer de faire */ -/* un truc indépendant desdites librairies. */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_menus.c : gestion des menus + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #define IN_FLRN_MENUS_C diff --git a/src/flrn_menus.h b/src/flrn_menus.h index f550fee..43d5759 100644 --- a/src/flrn_menus.h +++ b/src/flrn_menus.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_menus.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_MENUS_H #define FLRN_MENUS_H diff --git a/src/flrn_messages.c b/src/flrn_messages.c index 041c47f..3f15fca 100644 --- a/src/flrn_messages.c +++ b/src/flrn_messages.c @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_messages.c : messages d'erreur + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + /* FLRN : les messages */ #include "flrn_messages.h" diff --git a/src/flrn_messages.h b/src/flrn_messages.h index 576e7f5..45bc0e3 100644 --- a/src/flrn_messages.h +++ b/src/flrn_messages.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_messages.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_FLRN_MESSAGES_H #define FLRN_FLRN_MESSAGES_H diff --git a/src/flrn_pager.c b/src/flrn_pager.c index 6a45e01..7c07d70 100644 --- a/src/flrn_pager.c +++ b/src/flrn_pager.c @@ -1,8 +1,12 @@ -/* flrn v 0.3 */ -/* flrn_pager.c 22/06/98 */ -/* */ -/* Un VRAI pager pour flrn, un jour... */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_pager.c : pager pour flrn + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include diff --git a/src/flrn_pager.h b/src/flrn_pager.h index 759b929..a5bf603 100644 --- a/src/flrn_pager.h +++ b/src/flrn_pager.h @@ -1,4 +1,12 @@ -/* flrn_pager.h */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_pager.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #ifndef FLRN_FLRN_PAGER_H #define FLRN_FLRN_PAGER_H diff --git a/src/flrn_regexp.c b/src/flrn_regexp.c index 4635876..89fc2de 100644 --- a/src/flrn_regexp.c +++ b/src/flrn_regexp.c @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_regexp.c : regexps pour flrn + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + /* Traitement de regexp pour flrn * en fait, qqes fonctions qui enrichissent les regexp POSIX */ diff --git a/src/flrn_regexp.h b/src/flrn_regexp.h index aaf4ca4..06a9786 100644 --- a/src/flrn_regexp.h +++ b/src/flrn_regexp.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_regexp.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_FLRN_REGEXP_H #define FLRN_FLRN_REGEXP_H diff --git a/src/flrn_shell.c b/src/flrn_shell.c index e0abbc0..1cab460 100644 --- a/src/flrn_shell.c +++ b/src/flrn_shell.c @@ -1,9 +1,12 @@ -/* flrn v 0.3 */ -/* flrn_shell.c 22/06/98 */ -/* */ -/* Gestion du process : fork, system, et execve sont dans ce */ -/* fichier... */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_shell.c : fork, system, execve, etc... + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include diff --git a/src/flrn_shell.h b/src/flrn_shell.h index 60cde67..67e5ec4 100644 --- a/src/flrn_shell.h +++ b/src/flrn_shell.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_shell.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_FLRN_SHELL_H #define FLRN_FLRN_SHELL_H diff --git a/src/flrn_slang.c b/src/flrn_slang.c index c1d387a..61a11c0 100644 --- a/src/flrn_slang.c +++ b/src/flrn_slang.c @@ -1,7 +1,13 @@ -/* flrn v 3.0 */ -/* */ -/* flrn_slang.c */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_slang.c : liens avec les fonction slang + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + /* Liens avec les fonctions slang */ /* Ce fichier ne devrait pas être indispensable... si on passe à ncurses */ diff --git a/src/flrn_slang.h b/src/flrn_slang.h index fb1ae48..31f2f35 100644 --- a/src/flrn_slang.h +++ b/src/flrn_slang.h @@ -1,3 +1,12 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_slang.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #ifndef FLRN_SLANG_H diff --git a/src/flrn_string.c b/src/flrn_string.c index b7e5984..04c61e6 100644 --- a/src/flrn_string.c +++ b/src/flrn_string.c @@ -1,10 +1,12 @@ -/* flrn v 0.1 */ -/* flrn_string.c 03/12/97 */ -/* */ -/* Gestion des listes de chaines... */ -/* et de scrollings. */ -/* */ - +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_string.c : gestion de chaines de taille importante (pour le post) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include diff --git a/src/flrn_string.h b/src/flrn_string.h index 8104dba..08b3832 100644 --- a/src/flrn_string.h +++ b/src/flrn_string.h @@ -1,7 +1,12 @@ -/* flrn v 0.1 */ -/* flrn_string.h 03/12/97 */ -/* */ -/* Headers pour flrn_string.c */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_string.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #ifndef FLRN_FLRN_STRING_H #define FLRN_FLRN_STRING_H diff --git a/src/flrn_tags.c b/src/flrn_tags.c index 76062f2..3b1ee59 100644 --- a/src/flrn_tags.c +++ b/src/flrn_tags.c @@ -1,9 +1,12 @@ -/* flrn v 0.3 */ -/* flrn_tags.c 08/11/98 */ -/* */ -/* Gestion des tags et de l'historique. */ -/* */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_tags.c : tags et historique + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include diff --git a/src/flrn_tags.h b/src/flrn_tags.h index ce72450..dd0fe54 100644 --- a/src/flrn_tags.h +++ b/src/flrn_tags.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_tags.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_TAGS_H #define FLRN_TAGS_H diff --git a/src/flrn_tcp.c b/src/flrn_tcp.c index 99bf3ba..d74c3c5 100644 --- a/src/flrn_tcp.c +++ b/src/flrn_tcp.c @@ -1,8 +1,12 @@ -/* flrn v 0.3 */ -/* flrn_tcp.c 22/06/98 */ -/* */ -/* Communication avec le serveur... Essentiellement tout ce qui se */ -/* rapporte a la gestion d'une socket... */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_tcp.c : communications avec le serveur + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include /* a voir */ diff --git a/src/flrn_tcp.h b/src/flrn_tcp.h index 288f391..33efad4 100644 --- a/src/flrn_tcp.h +++ b/src/flrn_tcp.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_tcp.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_FLRN_TCP_H #define FLRN_FLRN_TCP_H diff --git a/src/flrn_xover.c b/src/flrn_xover.c index 34d939f..bd25a14 100644 --- a/src/flrn_xover.c +++ b/src/flrn_xover.c @@ -1,9 +1,12 @@ -/* flrn v 0.1 */ -/* flrn_xover.c 02/02/98 */ -/* */ -/* Gestion de la commade XOVER */ -/* Ceci est destiné à devenir le standard pour flrn. */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_xover.c : obtention des Mesages-ID, References et autres + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include diff --git a/src/flrn_xover.h b/src/flrn_xover.h index 696fba8..99aad69 100644 --- a/src/flrn_xover.h +++ b/src/flrn_xover.h @@ -1,3 +1,12 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * flrn_xover.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #ifndef FLRN_FLRN_XOVER_H #define FLRN_FLRN_XOVER_H diff --git a/src/getdate.h b/src/getdate.h index 85f789a..8cced71 100644 --- a/src/getdate.h +++ b/src/getdate.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * getdate.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + /* getdate.h */ #ifdef TIME_WITH_SYS_TIME diff --git a/src/group.c b/src/group.c index 86d0374..b66c5ef 100644 --- a/src/group.c +++ b/src/group.c @@ -1,9 +1,12 @@ -/* flrn v 0.1 */ -/* group.c 24/11/97 */ -/* */ -/* Gestion des groupes... */ -/* */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * group.c : gestion des groupes + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include diff --git a/src/group.h b/src/group.h index 59f43dc..dd757b1 100644 --- a/src/group.h +++ b/src/group.h @@ -1,7 +1,12 @@ -/* flrn v 0.1 */ -/* group.h 24/11/97 */ -/* */ -/* Headers pour la gestion des newsgroups. */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * group.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #ifndef FLRN_GROUP_H #define FLRN_GROUP_H diff --git a/src/main.c b/src/main.c index b8f42a4..cdbf564 100644 --- a/src/main.c +++ b/src/main.c @@ -1,9 +1,12 @@ -/* flrn v 0.1 */ -/* main.c 22/11/97 */ -/* */ -/* Programme principal de flrn. Pour l'intant, ne fait quasiment */ -/* rien (normal, ce n'est pas prevu pour faire quelque chose). */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * main.c : parsing de la ligne de commande + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include diff --git a/src/options.c b/src/options.c index 8d88575..273ca75 100644 --- a/src/options.c +++ b/src/options.c @@ -1,9 +1,12 @@ -/* flrn v 0.1 */ -/* options.c 22/11/97 */ -/* */ -/* Gestion des options... */ -/* */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * options.c : gestion des options + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include diff --git a/src/options.h b/src/options.h index 77d7580..5bb1ea0 100644 --- a/src/options.h +++ b/src/options.h @@ -1,9 +1,12 @@ -/* flrn v 0.1 */ -/* options.h 22/11/97 */ -/* */ -/* Fichier de headers pour options.c : contient la syntaxe des options */ -/* de flrn. */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * options.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #ifndef FLRN_OPTIONS_H #define FLRN_OPTIONS_H diff --git a/src/post.c b/src/post.c index 22eb484..296fe24 100644 --- a/src/post.c +++ b/src/post.c @@ -1,9 +1,12 @@ -/* flrn v 0.4 */ -/* post.c 19/03/99 */ -/* */ -/* Gestion des posts... */ -/* Ce fichier ne fait pas appel à slang... */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * post.c : pour les posts et l'éditeur intégré + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include diff --git a/src/post.h b/src/post.h index 793c6ec..d1be882 100644 --- a/src/post.h +++ b/src/post.h @@ -1,7 +1,12 @@ -/* flrn v 0.1 */ -/* post.h 25/11/97 */ -/* */ -/* Headers pour post.c (si !). */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * post.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #ifndef FLRN_POST_H #define FLRN_POST_H diff --git a/src/rfc2047.c b/src/rfc2047.c index 64ad22d..3725d97 100644 --- a/src/rfc2047.c +++ b/src/rfc2047.c @@ -1,6 +1,9 @@ /* + * * Copyright (C) 1996,1997 Michael R. Elkins - * Adapte a flrn... + * ce code est repris à mutt et adapté à flrn + * + * Ce code est soumis à la GNU General Public License */ /* Attention, il faudra definir proprement Charset, et le renommer diff --git a/src/rfc2047.h b/src/rfc2047.h index 94bbe6b..599c53d 100644 --- a/src/rfc2047.h +++ b/src/rfc2047.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * rfc2047.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_RFC_2047_H #define FLRN_RFC_2047_H diff --git a/src/site_config.h b/src/site_config.h index 77ac62a..745f07f 100644 --- a/src/site_config.h +++ b/src/site_config.h @@ -1,3 +1,8 @@ +/* flrn : lecteur de news en mode texte + * + * site_config.h : configuration par défaut de flrn + * + */ #ifndef FLRN_SITE_CONFIG_H #define FLRN_SITE_CONFIG_H /* On définit ici la configuration par défaut @@ -7,8 +12,8 @@ #ifdef IN_OPTION_C struct Option_struct Options = { - "news.rezo.ens.fr", /* server */ - DEFAULT_NNTP_PORT, /* port */ + "news.rezo.ens.fr", /* server "news" est conseillé */ + DEFAULT_NNTP_PORT, /* port (DEFAULT_NNTP_PORT = 119) */ NULL, /* flnews_ext */ NULL, /* Post name - doit rester NULL */ {REFERENCES_HEADER,FROM_HEADER,DATE_HEADER,SUBJECT_HEADER,-1}, /* header */ @@ -25,8 +30,8 @@ struct Option_struct Options = { #endif 0, /* forum_mode */ 0, /* space_is_return */ - 0, /* cool_arrows, inversé ! */ - 0, /* edit_all_headers */ + 0, /* cool_arrows, inversé (0 : activé, 1 : désactivé) */ + 0, /* edit_all_headers (1 conseillé) */ 0, /* include_in_edit */ 1, /* date_in_summary */ 0, /* duplicate_subject */ @@ -35,7 +40,7 @@ struct Option_struct Options = { 0, /* threaded_space */ 0, /* auto_edit */ 0, /* use_regexp */ - 0, /* use_menus (très alpha) */ + 0, /* use_menus */ 0, /* with_cousins */ 0, /* quit_if_nothing */ 0, /* parse_from */ @@ -48,7 +53,7 @@ struct Option_struct Options = { 0, /* zap_change_group */ 0, /* scroll_after_end */ "%n, dans son post %i, a écrit :", /* attribution */ - 0, /* alpha_tree, temporaire */ + 0, /* alpha_tree */ ".flrnkill", /* kill_file_name */ 1, /* auto_kill */ "", /* savepath */ @@ -56,7 +61,7 @@ struct Option_struct Options = { " TDD*tdd", /* flags_group */ NULL, /* hist_file_name */ 0, /* warn_if_new */ - NULL, /* get_ext_flnewsfile */ + NULL, /* default_flnewsfile */ 0, /* short_errors */ 1, /* help_line */ NULL, /* help_line_file */ diff --git a/src/tty_display.c b/src/tty_display.c index e26c811..36ee6a2 100644 --- a/src/tty_display.c +++ b/src/tty_display.c @@ -1,6 +1,13 @@ -/* flrn v 0.1 */ -/* tty_display.c 25/11/97 */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * tty_display.c : gestion de l'écran, affichage des articles + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + /* Programme de gestion de l'écran et d'affichage des articles. */ /* S'occupe aussi des entrees des posts. */ /* Faisait aussi la gestion des scrollings. */ diff --git a/src/tty_display.h b/src/tty_display.h index 616fe8b..faf449d 100644 --- a/src/tty_display.h +++ b/src/tty_display.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * tty_display.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_TTY_DISPLAY_H #define FLRN_TTY_DISPLAY_H diff --git a/src/tty_keyboard.c b/src/tty_keyboard.c index 33f03ef..50d27f5 100644 --- a/src/tty_keyboard.c +++ b/src/tty_keyboard.c @@ -1,9 +1,12 @@ -/* flrn v 0.1 */ -/* tty_keyboard.c 27/11/97 */ -/* */ -/* Programme de gestion du clavier. */ -/* Essentiellement de betes appels des fontions de la lib. */ -/* */ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * tty_keyboard.c : gestion du clavier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ #include #include diff --git a/src/tty_keyboard.h b/src/tty_keyboard.h index ee6f40c..e1ec8e1 100644 --- a/src/tty_keyboard.h +++ b/src/tty_keyboard.h @@ -1,3 +1,13 @@ +/* flrn : lecteur de news en mode texte + * Copyright (C) 1998-1999 Damien Massé et Joël-Yann Fourré + * + * tty_keyboard.h + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. See the file COPYING for details. + */ + #ifndef FLRN_TTY_KEYBOARD_H #define FLRN_TTY_KEYBOARD_H