This is next2iso.c in view mode; [Download] [Up]
#include <stdio.h> FILE *fileIn,*fileOut; char fileNameIn[30]; char fileNameOut[30]; char shCommand[80]; int pipeOk = 0; int localGet(valuePtr) int *valuePtr; { if (pipeOk == 0){ *valuePtr = getc(fileIn); }else{ *valuePtr = getchar(); } return *valuePtr; } localPut(value) int value; { if (pipeOk == 0){ putc(value,fileOut); }else{ putchar(value); } } processFile() { int current_char; while ( localGet(¤t_char) != EOF) { if (current_char < 128){ localPut(current_char); }else{ switch ( current_char) { case (int)128 : localPut(32); /* */ break; case (int)129 : localPut(192); /* Agrave */ break; case (int)130 : localPut(193); /* Aacute */ break; case (int)131 : localPut(194); /* Acircumflex */ break; case (int)132 : localPut(195); /* Atilde */ break; case (int)133 : localPut(196); /* Adieresis */ break; case (int)134 : localPut(197); /* Aring */ break; case (int)135 : localPut(199); /* Ccedilla */ break; case (int)136 : localPut(200); /* Egrave */ break; case (int)137 : localPut(201); /* Eacute */ break; case (int)138 : localPut(202); /* Ecircumflex */ break; case (int)139 : localPut(203); /* Edieresis */ break; case (int)140 : localPut(204); /* Igrave */ break; case (int)141 : localPut(205); /* Iacute */ break; case (int)142 : localPut(206); /* Icircumflex */ break; case (int)143 : localPut(207); /* Idieresis */ break; case (int)144 : localPut(208); /* Eth */ break; case (int)145 : localPut(209); /* Ntilde */ break; case (int)146 : localPut(210); /* Ograve */ break; case (int)147 : localPut(211); /* Oacute */ break; case (int)148 : localPut(212); /* Ocircumflex */ break; case (int)149 : localPut(213); /* Otilde */ break; case (int)150 : localPut(214); /* Odieresis */ break; case (int)151 : localPut(217); /* Ugrave */ break; case (int)152 : localPut(218); /* Uacute */ break; case (int)153 : localPut(219); /* Ucircumflex */ break; case (int)154 : localPut(220); /* Udieresis */ break; case (int)155 : localPut(221); /* Yacute */ break; case (int)156 : localPut(222); /* Thorn */ break; case (int)157 : localPut(181); /* mu */ break; case (int)158 : localPut(215); /* multiply */ break; case (int)159 : localPut(247); /* divide */ break; case (int)160 : localPut(169); /* copyright */ break; case (int)161 : localPut(161); /* exclamdown */ break; case (int)162 : localPut(162); /* cent */ break; case (int)163 : localPut(163); /* sterling */ break; case (int)164 : localPut(47); /* fraction -> */ break; case (int)165 : localPut(165); /* yen */ break; case (int)166 : localPut(63); /* florin -> 266 */ break; case (int)167 : localPut(167); /* section */ break; case (int)168 : localPut(164); /* currency */ break; case (int)169 : localPut(63); /* quotesingle -> 262 */ break; case (int)170 : localPut(63); /* quotedblleft -> 272 */ break; case (int)171 : localPut(171); /* guillemotleft */ break; case (int)172 : localPut(63); /* guilsinglleft -> 276 */ break; case (int)173 : localPut(63); /* guilsinglright -> 277 */ break; case (int)174 : localPut(63); /* fi -> 278 */ break; case (int)175 : localPut(63); /* fl -> 279 */ break; case (int)176 : localPut(174); /* registered */ break; case (int)177 : localPut(45); /* endash -> 270 */ break; case (int)178 : localPut(63); /* dagger -> 263 */ break; case (int)179 : localPut(63); /* daggerdbl -> 280 */ break; case (int)180 : localPut(183); /* periodcentered */ break; case (int)181 : localPut(166); /* brokenbar */ break; case (int)182 : localPut(182); /* paragraph */ break; case (int)183 : localPut(63); /* bullet -> 264 */ break; case (int)184 : localPut(63); /* quotesinglbase -> 281 */ break; case (int)185 : localPut(63); /* quotedblbase -> 282 */ break; case (int)186 : localPut(63); /* quotedblright -> 273 */ break; case (int)187 : localPut(187); /* guillemotright -> 187 */ break; case (int)188 : localPut(63); /* ellipsis -> 267 */ break; case (int)189 : localPut(63); /* perthousand -> 283 */ break; case (int)190 : localPut(172); /* logicalnot */ break; case (int)191 : localPut(191); /* questiondown */ break; case (int)192 : localPut(185); /* onesuperior */ break; case (int)193 : localPut(145); /* grave */ break; case (int)194 : localPut(146); /* acute */ break; case (int)195 : localPut(147); /* circumflex */ break; case (int)196 : localPut(148); /* tilde */ break; case (int)197 : localPut(149); /* macron */ break; case (int)198 : localPut(150); /* breve */ break; case (int)199 : localPut(151); /* dotaccent */ break; case (int)200 : localPut(152); /* dieresis */ break; case (int)201 : localPut(178); /* twosuperior */ break; case (int)202 : localPut(154); /* ring */ break; case (int)203 : localPut(155); /* cedilla */ break; case (int)204 : localPut(179); /* threesuperior */ break; case (int)205 : localPut(157); /* hungarumlaut */ break; case (int)206 : localPut(158); /* ogonek */ break; case (int)207 : localPut(159); /* caron */ break; case (int)208 : localPut(63); /* emdash -> 271 */ break; case (int)209 : localPut(177); /* plusminus */ break; case (int)210 : localPut(188); /* onequarter */ break; case (int)211 : localPut(189); /* onehalf */ break; case (int)212 : localPut(190); /* threequarters */ break; case (int)213 : localPut(224); /* agrave */ break; case (int)214 : localPut(225); /* aacute */ break; case (int)215 : localPut(226); /* acircumflex */ break; case (int)216 : localPut(227); /* atilde */ break; case (int)217 : localPut(228); /* adieresis */ break; case (int)218 : localPut(229); /* aring */ break; case (int)219 : localPut(231); /* ccedilla */ break; case (int)220 : localPut(232); /* egrave */ break; case (int)221 : localPut(233); /* eacute */ break; case (int)222 : localPut(234); /* ecircumflex */ break; case (int)223 : localPut(235); /* edieresis */ break; case (int)224 : localPut(236); /* igrave */ break; case (int)225 : localPut(198); /* AE */ break; case (int)226 : localPut(237); /* iacute */ break; case (int)227 : localPut(170); /* ordfeminine */ break; case (int)228 : localPut(238); /* icircumflex */ break; case (int)229 : localPut(239); /* idieresis */ break; case (int)230 : localPut(240); /* eth */ break; case (int)231 : localPut(241); /* ntilde */ break; case (int)232 : localPut(76); /* Lslash -> 256 */ break; case (int)233 : localPut(216); /* Oslash */ break; case (int)234 : localPut(79); localPut(69); /* OE -> 268 */ break; case (int)235 : localPut(186); /* ordmasculine */ break; case (int)236 : localPut(242); /* ograve */ break; case (int)237 : localPut(243); /* oacute */ break; case (int)238 : localPut(244); /* ocircumflex */ break; case (int)239 : localPut(245); /* otilde */ break; case (int)240 : localPut(246); /* odieresis */ break; case (int)241 : localPut(230); /* ae */ break; case (int)242 : localPut(249); /* ugrave */ break; case (int)243 : localPut(250); /* uacute */ break; case (int)244 : localPut(251); /* ucircumflex */ break; case (int)245 : localPut(144); /* dotlessi */ break; case (int)246 : localPut(252); /* udieresis */ break; case (int)247 : localPut(253); /* yacute */ break; case (int)248 : localPut(108); /* lslash -> 257 */ break; case (int)249 : localPut(248); /* oslash */ break; case (int)250 : localPut(111); localPut(101); /* oe -> 269 */ break; case (int)251 : localPut(223); /* germandbls */ break; case (int)252 : localPut(254); /* thorn */ break; case (int)253 : localPut(255); /* ydieresis */ break; case (int)254 : localPut(32); /* */ break; case (int)255 : localPut(32); /* */ break; default : localPut(current_char); break; } } } } main(argc,argv) char **argv; int argc; { int k; int m=1; int keepOrig = 1; char *p; /* test du nombre de parametres */ if ( argc < 2 ) { pipeOk = 1; processFile(); }else{ p = argv[1]; if (*p == '-'){ m++; if (*(p+1) == 'd'){ keepOrig = 0; } if (*(p+1) == 'h'){ printf("next2iso V1.0 April 94 by Franck Vamparys@litnext1.epfl.ch\n"); printf(" -d to not keep the original file\n"); printf(" -h help\n"); printf("ex: next2iso file1\n"); printf(" next2iso -d *.rtf\n"); printf(" cat file1 | next2iso > file2\n"); exit(0); } } for (k=m;k<argc;k++){ strcpy(fileNameIn,argv[k]); strcat(fileNameIn,".old_iso2next"); strcpy(fileNameOut,argv[k]); strcpy(shCommand,"mv "); strcat(shCommand,fileNameOut); strcat(shCommand," "); strcat(shCommand,fileNameIn); system(shCommand); fileIn = fopen(fileNameIn,"r"); /* ouvrir le fichier en entree */ if ( fileIn == NULL ) { printf("cannot access the file: %s\n", argv[k]); exit (-1); }; /* ouvrir le fichier en sortie */ if ( (fileOut = fopen(fileNameOut,"w")) == NULL ) { printf("cannot open file: %s\n", fileNameOut); exit (-1); } processFile(); fclose(fileIn); fclose(fileOut); if (keepOrig == 0){ strcpy(shCommand,"rm "); strcat(shCommand,fileNameIn); system(shCommand); } }; }; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.