00001 00007 /* License: new BSD license (see NME.h) */ 00008 00009 #include "NMEPluginRot13.h" 00010 00011 NMEErr NMEPluginRot13(NMEConstText name, NMEInt nameLen, 00012 NMEConstText data, NMEInt dataLen, 00013 NMEContext *context, 00014 void *userData) 00015 { 00016 NMEInt i; 00017 NMEChar c; 00018 (void)name; 00019 (void)nameLen; 00020 (void)userData; 00021 00022 for (i = 0; i < dataLen; i++) 00023 { 00024 c = (data[i] | 32) >= 'a' && (data[i] | 32) <= 'm' 00025 ? data[i] + 13 00026 : (data[i] | 32) >= 'n' && (data[i] | 32) <= 'z' 00027 ? data[i] - 13 00028 : data[i]; 00029 if (!NMEAddString(&c, 1, '\0', context)) 00030 return kNMEErrNotEnoughMemory; 00031 } 00032 00033 return kNMEErrOk; 00034 }