Source file: /~heha/basteln/Haus/Telefon/CLIP-Anzeige/vorwahl.zip/MSVC/main.cpp

#include <windows.h>
#include <shlwapi.h>
#include <stdio.h>
#include "vorwahl.h"

#pragma intrinsic(memcpy,strcmp)

EXTERN_C void mainCRTStartup() {
 char*n=PathGetArgs(GetCommandLine());	// 1 Argument = Telefonnummer zum Test
//Verkehrsausscheidungsziffern behandeln, Annahme: Standort Deutschland 2020
 char c[8]="49";	// Deutschland
 char o[8]="371";	// Chemnitz
 char l;
 if (*n=='+' || *n=='0' && n[1]=='0') {
  l=Vorwahl::len_intl(n+=(*n=='+'?1:2));
  if (l>7) l=0;		// Fehler!
  memcpy(c,n,l); c[l]=0;
  printf("+%s ",c);
  n+=l;
  goto vw;
 }else if (*n=='0') {
  printf("0"); ++n;
vw:
  switch (atoi(c)) {
   case 33:  l=Vorwahl::len_fr(n); break;
   case 36:  l=Vorwahl::len_hu(n); break;
   case 39:  l=Vorwahl::len_it(n); break;	// In Italien wählt man +39 0xxx yyyyy! 0->3 für Handynetze
   case 420: l=Vorwahl::len_cz(n); break;
   case 421: l=Vorwahl::len_sk(n); break;
   case 43:  l=Vorwahl::len_at(n); break;
   case 44:  l=Vorwahl::len_uk(n); break;
   case 48:  l=Vorwahl::len_pl(n); break;
   case 49:  l=Vorwahl::len_de(n); break;
   case 1:   l=Vorwahl::len_us(n); break;
   case 7:   l=Vorwahl::len_ru(n); break;
   default: l=0;
  }
  if (l>7) l=0;		// Fehler!
  memcpy(o,n,l); o[l]=0;
  if (l) printf("%s ",o);
  n+=l;
 }
 printf("%s\n",n);	// restliche Telefonnummer
 ExitProcess(0);
}
Detected encoding: ANSI (CP1252)4
Wrong umlauts? - Assume file is ANSI (CP1252) encoded